
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void relocate_section(Target_x86_64<64> * this,
   Relocate_info<64,_false> * relinfo, uint sh_type, uchar * prelocs, size_t reloc_count,
   Output_section * output_section, bool needs_special_offset_handling, uchar * view, Elf_Addr
   address, section_size_type view_size, Reloc_symbol_changes * reloc_symbol_changes) */

void __thiscall
anon_unknown.dwarf_32e241::Target_x86_64<64>::relocate_section
          (Target_x86_64<64> *this,Relocate_info<64,_false> *relinfo,uint sh_type,uchar *prelocs,
          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,
          uchar *view,Elf_Addr address,section_size_type view_size,
          Reloc_symbol_changes *reloc_symbol_changes)

{
  int *piVar1;
  _func_int_varargs **pp_Var2;
  _func_int_varargs *p_Var3;
  undefined **ppuVar4;
  pointer ppSVar5;
  pointer pSVar6;
  pointer ppOVar7;
  Sized_relobj_file<64,_false> *pSVar8;
  pointer pcVar9;
  code *pcVar10;
  longlong lVar11;
  size_type sVar12;
  bool bVar13;
  byte bVar14;
  char cVar15;
  uchar *puVar16;
  undefined4 uVar17;
  undefined4 uVar18;
  uint uVar19;
  Relobj *pRVar20;
  int iVar21;
  char *pcVar22;
  byte bVar23;
  uint uVar24;
  Object *extraout_ECX;
  Object *extraout_ECX_00;
  Object *pOVar25;
  Object *extraout_ECX_01;
  byte bVar26;
  Symbol_table *pSVar27;
  undefined **ppuVar28;
  undefined1 *puVar29;
  undefined4 *puVar30;
  undefined1 *puVar31;
  _Alloc_hider _Var32;
  byte *pbVar33;
  byte *pbVar34;
  Symbol_table *unaff_EDI;
  Symbol_table *pSVar35;
  bool bVar36;
  bool bVar37;
  byte bVar38;
  Address AVar39;
  size_t asStack_104 [6];
  undefined1 auStack_dc [12];
  Symbol_table *local_d0;
  Symbol_table *local_cc;
  uint local_c8;
  Elf_Addr local_c4;
  char local_b9;
  Symbol_value<64> *local_b8;
  uint local_b4;
  Sized_relobj_file<64,_false> *local_b0;
  uint local_ac;
  int local_a8;
  Symbol_value<64> *local_a4;
  uint local_a0;
  Symbol_value<64> *local_9c;
  size_t local_98;
  Symbol_table *local_94;
  undefined **local_90;
  Relocate relocate;
  bool is_ordinary;
  uint key_symndx;
  Elf_Addr value;
  Symbol_value<64> symval;
  Symbol_value<64> symval2;
  string name;
  bool found;
  undefined1 local_2c [28];
  
  bVar38 = 0;
  local_90 = &_GLOBAL_OFFSET_TABLE_;
  local_b9 = needs_special_offset_handling;
  local_c4 = address;
  if (sh_type != 4) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");
  }
  relocate.skip_call_tls_get_addr_ = false;
  local_b0 = relinfo->object;
  pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;
  p_Var3 = pp_Var2[0x23];
  if (p_Var3 == gold::Relobj::local_symbol_count) {
                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */
    local_c8 = (*pp_Var2[0x2f])(local_b0);
  }
  else {
                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */
    local_c8 = (*p_Var3)(local_b0);
  }
  puVar30 = (undefined4 *)auStack_dc;
  if (reloc_count == 0) {
LAB_0008cc40:
    if (relocate.skip_call_tls_get_addr_ != false) {
      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;
      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;
      uVar17 = gettext();
      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;
      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;
      gold::gold_error(*(char **)((int)puVar30 + -0x10));
      return;
    }
    return;
  }
  uVar24 = *(uint *)prelocs;
  puVar30 = (undefined4 *)auStack_dc;
  if (*(int *)(prelocs + 4) == 0) {
    local_a8 = 0;
    local_98 = 0;
    local_cc = (Symbol_table *)(local_90 + 0x1f2);
    local_d0 = (Symbol_table *)(local_90 + 0x1f2);
    puVar30 = (undefined4 *)auStack_dc;
    do {
      local_a0 = uVar24;
      if (local_b9 == '\0') {
LAB_0008c1ed:
        symval.output_symtab_index_ = 0;
        symval.output_dynsym_index_ = 0xffffffff;
        local_ac = *(uint *)(prelocs + 0xc);
        symval._8_4_ = 0x80000000;
        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;
        symval.u_.value._4_4_ = 0;
        if (local_ac < local_c8) {
          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&
             (local_94 = (Symbol_table *)
                         (reloc_symbol_changes->vec_).
                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;
          pSVar6 = (local_b0->local_values_).
                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                   ._M_impl._M_start;
          local_94 = (Symbol_table *)
                     (local_b0->local_values_).
                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                     ._M_impl._M_finish;
          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {
            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;
            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;
            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
                       *(char **)((int)puVar30 + -8));
          }
          local_a4 = pSVar6 + local_ac;
          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;
          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {
LAB_0008c3f0:
            local_94 = (Symbol_table *)0x0;
            local_9c = &symval;
            goto LAB_0008bfef;
          }
          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start;
          local_94 = (Symbol_table *)
                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                     ._M_impl._M_finish;
          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {
            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;
            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;
            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;
            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */
            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
                       *(char **)((int)puVar30 + -8));
          }
          local_94 = (Symbol_table *)ppOVar7[local_b4];
          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;
          *(uint *)((int)puVar30 + -8) = local_b4;
          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;
          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;
                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */
          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;
          bVar13 = gold::Symbol_table::is_section_folded
                             (*(Symbol_table **)((int)puVar30 + -0x10),
                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));
          local_9c = &symval;
          if (bVar13) goto LAB_0008bfef;
LAB_0008c478:
          symval2.output_symtab_index_ = 0;
          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object
          ;
          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;
          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;
          local_b8 = &symval2;
          symval2.output_dynsym_index_ = 0xffffffff;
          symval2._8_4_ = 0x80000000;
          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;
          symval2.u_.value._4_4_ = 0;
          *(string **)((int)puVar30 + -0x10) = &name;
                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */
          p_Var3 = pp_Var2[0x10];
          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;
          (*p_Var3)();
          bVar13 = false;
          bVar37 = local_a8 == 0;
          if (bVar37) {
            iVar21 = 6;
            _Var32 = name._M_dataplus;
            pbVar34 = (byte *)((int)local_90 + -0x19cac3);
            do {
              if (iVar21 == 0) break;
              iVar21 = iVar21 + -1;
              bVar13 = (byte)*_Var32._M_p < *pbVar34;
              bVar37 = *_Var32._M_p == *pbVar34;
              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;
            } while (bVar37);
            bVar36 = false;
            bVar13 = (!bVar13 && !bVar37) == bVar13;
            if (!bVar13) {
              iVar21 = 7;
              _Var32 = name._M_dataplus;
              ppuVar28 = local_90 + -0x672af;
              do {
                if (iVar21 == 0) break;
                iVar21 = iVar21 + -1;
                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;
                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;
                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);
              } while (bVar13);
              bVar37 = false;
              bVar13 = (!bVar36 && !bVar13) == bVar36;
              if (!bVar13) {
                iVar21 = 0x11;
                _Var32 = name._M_dataplus;
                ppuVar28 = local_90 + -0x672ad;
                do {
                  if (iVar21 == 0) break;
                  iVar21 = iVar21 + -1;
                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;
                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;
                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);
                } while (bVar13);
                bVar36 = false;
                bVar13 = (!bVar37 && !bVar13) == bVar37;
                if (!bVar13) {
                  iVar21 = 5;
                  _Var32 = name._M_dataplus;
                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);
                  do {
                    if (iVar21 == 0) break;
                    iVar21 = iVar21 + -1;
                    bVar36 = (byte)*_Var32._M_p < *pbVar34;
                    bVar13 = *_Var32._M_p == *pbVar34;
                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;
                  } while (bVar13);
                  bVar37 = false;
                  bVar13 = (!bVar36 && !bVar13) == bVar36;
                  if (!bVar13) {
                    iVar21 = 5;
                    _Var32 = name._M_dataplus;
                    ppuVar28 = local_90 + -0x672a7;
                    do {
                      if (iVar21 == 0) break;
                      iVar21 = iVar21 + -1;
                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;
                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;
                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);
                    } while (bVar13);
                    bVar36 = false;
                    bVar13 = (!bVar37 && !bVar13) == bVar37;
                    if (!bVar13) {
                      iVar21 = 4;
                      _Var32 = name._M_dataplus;
                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);
                      do {
                        if (iVar21 == 0) break;
                        iVar21 = iVar21 + -1;
                        bVar36 = (byte)*_Var32._M_p < *pbVar34;
                        bVar13 = *_Var32._M_p == *pbVar34;
                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;
                      } while (bVar13);
                      bVar37 = false;
                      bVar13 = (!bVar36 && !bVar13) == bVar36;
                      if (!bVar13) {
                        iVar21 = 10;
                        _Var32 = name._M_dataplus;
                        pbVar34 = (byte *)((int)local_90 + -0x19a212);
                        do {
                          if (iVar21 == 0) break;
                          iVar21 = iVar21 + -1;
                          bVar37 = (byte)*_Var32._M_p < *pbVar34;
                          bVar13 = *_Var32._M_p == *pbVar34;
                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;
                        } while (bVar13);
                        bVar36 = false;
                        bVar13 = (!bVar37 && !bVar13) == bVar37;
                        if (!bVar13) {
                          iVar21 = 0x12;
                          _Var32 = name._M_dataplus;
                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);
                          do {
                            if (iVar21 == 0) break;
                            iVar21 = iVar21 + -1;
                            bVar36 = (byte)*_Var32._M_p < *pbVar34;
                            bVar13 = *_Var32._M_p == *pbVar34;
                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);
                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;
                          } while (bVar13);
                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;
                        }
                        goto LAB_0008c74a;
                      }
                    }
                  }
                }
              }
            }
LAB_0008c4f4:
            *(bool **)((int)puVar30 + -8) = &found;
            *(string **)((int)puVar30 + -0xc) = &name;
            *(uint *)((int)puVar30 + -0x10) = local_b4;
            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;
                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */
            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;
            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section
                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),
                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),
                                *(bool **)((int)puVar30 + -8));
            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;
            symval2.u_.value._4_4_ = 0;
            if (found != false) {
              symval2.u_.merged_symbol_value =
                   (Merged_symbol_value<64> *)
                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);
              symval2.u_.value._4_4_ =
                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +
                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);
            }
            local_a8 = 1;
          }
          else {
            if (local_a8 == 1) goto LAB_0008c4f4;
            if (local_a8 == 3) {
LAB_0008c67e:
              pSVar8 = relinfo->object;
              if (local_94 == (Symbol_table *)0x0) {
                *(uint *)((int)puVar30 + -0x10) = local_ac;
                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;
                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */
                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;
                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name
                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),
                                     *(uint *)((int)puVar30 + -0x10));
                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;
                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;
                uVar17 = gettext();
                *(uint *)((int)puVar30 + -0xc) = local_ac;
                *(char **)((int)puVar30 + -0x10) = pcVar22;
                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;
                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;
                *(uint *)((int)puVar30 + -0x1c) = local_a0;
                *(size_t *)((int)puVar30 + -0x20) = local_98;
                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;
                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;
                gold::gold_error_at_location<64,_false>
                          (*(gold **)((int)puVar30 + -0x24),
                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),
                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),
                           *(char **)((int)puVar30 + -0x10));
              }
              else {
                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;
                *(bool **)((int)puVar30 + -0x14) = &found;
                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;
                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));
                puVar29 = _found;
                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;
                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;
                uVar17 = gettext();
                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;
                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;
                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;
                *(uint *)((int)puVar30 + -0x1c) = local_a0;
                *(size_t *)((int)puVar30 + -0x20) = local_98;
                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;
                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */
                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;
                gold::gold_error_at_location<64,_false>
                          (*(gold **)((int)puVar30 + -0x24),
                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),
                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),
                           *(char **)((int)puVar30 + -0x10));
                if (_found != local_2c) {
                  *(undefined1 **)((int)puVar30 + -0x14) = _found;
                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;
                  operator_delete(*(void **)((int)puVar30 + -0x14));
                }
              }
              *(bool **)((int)puVar30 + -8) = &is_ordinary;
              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;
              *(uint *)((int)puVar30 + -0x10) = local_ac;
              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;
                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */
              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;
              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value
                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),
                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)
                                  ,*(bool **)((int)puVar30 + -8));
              if (uVar24 != 0) {
                *(uint **)((int)puVar30 + -0xc) = &key_symndx;
                *(uint *)((int)puVar30 + -0x10) = uVar24;
                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;
                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;
                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object
                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),
                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)
                                    );
                if (key_symndx != 0) {
                  *(uint *)((int)puVar30 + -0x10) = key_symndx;
                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;
                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */
                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;
                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name
                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),
                                       *(uint *)((int)puVar30 + -0x10));
                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;
                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;
                  uVar17 = gettext();
                  *(char **)((int)puVar30 + -0x10) = pcVar22;
                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;
                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;
                  gold::gold_info(*(char **)((int)puVar30 + -0x14));
                }
                if (pRVar20 != (Relobj *)0x0) {
                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;
                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;
                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;
                  uVar17 = gettext();
                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;
                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;
                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;
                  gold::gold_info(*(char **)((int)puVar30 + -0x14));
                }
              }
              local_a8 = 3;
            }
            else {
LAB_0008c74a:
              local_a8 = 2;
            }
            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;
            symval2.u_.value._4_4_ = 0;
          }
          puVar31 = (undefined1 *)((int)puVar30 + -4);
          puVar29 = (undefined1 *)((int)puVar30 + -4);
          if (symval2.output_symtab_index_ != 0) {
            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;
            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;
            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */
            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;
            gold::do_gold_unreachable
                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),
                       *(char **)((int)puVar30 + -0xc));
          }
          symval2.output_symtab_index_ = 0xffffffff;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)name._M_dataplus._M_p != &name.field_2) {
            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;
            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;
            operator_delete(*(void **)((int)puVar30 + -0x14));
          }
          local_b8 = &symval2;
          local_a4 = &symval2;
          if (-1 < (int)local_a0) goto LAB_0008c029;
LAB_0008c588:
          puVar16 = (uchar *)0x0;
          puVar30 = (undefined4 *)puVar31;
        }
        else {
          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||
             (local_94 = (Symbol_table *)
                         (reloc_symbol_changes->vec_).
                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {
            if (local_ac < local_b0->local_symbol_count_) {
LAB_0008cd98:
              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;
              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;
              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */
              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;
              gold::do_gold_unreachable
                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
                         *(char **)((int)puVar30 + -8));
            }
            ppSVar5 = (local_b0->symbols_).
                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                      _M_start;
            uVar24 = local_ac - local_b0->local_symbol_count_;
            local_94 = (Symbol_table *)
                       (local_b0->symbols_).
                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                       _M_finish;
            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {
              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;
              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;
              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;
              gold::do_gold_unreachable
                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
                         *(char **)((int)puVar30 + -8));
            }
            local_94 = (Symbol_table *)ppSVar5[uVar24];
            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;
            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;
            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;
            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;
                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */
            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;
            local_94 = (Symbol_table *)
                       gold::Symbol_table::resolve_forwards
                                 (*(Symbol_table **)((int)puVar30 + -0x10),
                                  *(Symbol **)((int)puVar30 + -0xc));
            uVar19 = local_94->output_count_;
            uVar24 = uVar19 - 1;
            if (0xfffffffd < uVar24) {
              if (symval.output_symtab_index_ != 0) {
                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;
                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;
                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;
                gold::do_gold_unreachable
                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
                           *(char **)((int)puVar30 + -8));
              }
              goto LAB_0008bf7c;
            }
            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {
              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;
              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;
              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;
              gold::do_gold_unreachable
                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
                         *(char **)((int)puVar30 + -8));
            }
LAB_0008c350:
            if (uVar24 == 0xfffffffd) {
              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;
              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;
              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;
              gold::do_gold_unreachable
                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
                         *(char **)((int)puVar30 + -8));
            }
            symval.output_symtab_index_ = uVar19;
          }
          else {
LAB_0008bf67:
            uVar19 = local_94->output_count_;
            uVar24 = uVar19 - 1;
            if (uVar24 < 0xfffffffe) goto LAB_0008c350;
LAB_0008bf7c:
            symval.output_symtab_index_ = 0xffffffff;
          }
          symval.u_.merged_symbol_value =
               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;
          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;
          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;
          if (bVar26 == 6) {
            symval._8_4_ = symval._8_4_ | 0x20000000;
          }
          else if (bVar26 == 10) {
            symval._8_4_ = symval._8_4_ | 0x40000000;
          }
          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);
          if ((char)bVar26 < '\0') {
            sVar12 = (local_94->table_)._M_h._M_bucket_count;
            if ((sVar12 & 0x70000) == 0) {
              if ((((anon_union_4_3_b582a2bd_for_u2_ *)
                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&
                 ((bVar26 & 0x20) != 0)) {
LAB_0008cc18:
                local_b4 = 0;
                local_a4 = &symval;
                local_9c = local_a4;
                goto LAB_0008c478;
              }
            }
            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;
          }
          local_9c = &symval;
          local_a4 = &symval;
LAB_0008bfef:
          symval2.output_symtab_index_ = 0;
          local_b8 = &symval2;
          symval2.output_dynsym_index_ = 0xffffffff;
          symval2._8_4_ = 0x80000000;
          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;
          symval2.u_.value._4_4_ = 0;
          puVar29 = (undefined1 *)puVar30;
          puVar31 = (undefined1 *)puVar30;
          if ((int)local_a0 < 0) goto LAB_0008c588;
LAB_0008c029:
          puVar31 = puVar29;
          if (view_size <= local_a0) goto LAB_0008c588;
          puVar16 = view + local_a0;
          puVar30 = (undefined4 *)puVar29;
        }
        puVar30[-1] = view_size;
        lVar11 = local_c4 + (longlong)(int)local_a0;
        *(longlong *)(puVar30 + -3) = lVar11;
        puVar30[-4] = puVar16;
        puVar30[-5] = local_a4;
        puVar30[-6] = local_94;
        puVar30[-7] = prelocs;
        puVar30[-8] = local_98;
                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */
        puVar30[-9] = 0x8c077;
        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],
                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],
                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],
                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,
                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);
        pSVar35 = local_94;
        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);
        if (bVar13) {
          if (puVar16 == (uchar *)0x0) {
            puVar30[-4] = (int)local_90 + -0x19ca7f;
            puVar30[-5] = 0x8c787;
            uVar17 = gettext();
            unaff_EDI = (Symbol_table *)puVar30[-4];
            puVar30[-3] = local_a0;
            puVar30[-4] = uVar17;
            puVar30[-5] = (int)local_a0 >> 0x1f;
            puVar30[-6] = local_a0;
            puVar30[-7] = local_98;
            puVar30[-8] = relinfo;
                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */
            puVar30[-9] = 0x8c7a6;
            gold::gold_error_at_location<64,_false>
                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],
                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);
          }
          else {
            unaff_EDI = local_94;
            if (local_94 != (Symbol_table *)0x0) {
              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);
              bVar14 = bVar26 & 7;
              if ((bVar26 & 7) == 0) {
                if ((((anon_union_4_3_b582a2bd_for_u2_ *)
                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&
                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {
LAB_0008cbc8:
                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;
                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);
                  bVar23 = bVar23 >> 4;
                  pOVar25 = (Object *)(uint)bVar23;
                  pSVar35 = local_94;
                  if (bVar23 != 2) {
                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {
                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);
                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);
                      bVar14 = bVar14 & 3;
                      goto LAB_0008cad3;
                    }
                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);
                    pOVar25 = (Object *)
                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];
                    if (pOVar25 == (Object *)0x0) {
                      puVar30[-1] = local_94;
                      puVar30[-2] = local_90 + -0x65b32;
                      puVar30[-3] = 0x5c;
                      puVar30[-4] = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */
                      puVar30[-5] = 0x8cecf;
                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])
                      ;
                    }
                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {
                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <
                          '\0') {
                        if (bVar14 == 0) {
                          ppuVar28 = local_90 + -0x15e4b4;
                          goto LAB_0008ca90;
                        }
                        goto LAB_0008cb38;
                      }
                      goto LAB_0008c8f9;
                    }
                  }
                  goto LAB_0008cac0;
                }
                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;
                ppuVar28 = local_90 + -0x15e4b4;
                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];
                if (ppuVar4 == ppuVar28) {
LAB_0008c0da:
                  bVar26 = bVar26 & 7;
                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);
                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);
                  bVar14 = bVar23 & 3;
                  unaff_EDI = local_94;
                  if ((bVar23 & 3) == 0) goto LAB_0008c180;
                }
                else {
                  puVar30[-4] = pOVar25;
                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */
                  puVar30[-5] = 0x8c8b6;
                  iVar21 = (*(code *)ppuVar4)();
                  pOVar25 = extraout_ECX;
                  if (iVar21 == 0) {
LAB_0008cac0:
                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);
                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);
                    bVar14 = bVar14 & 3;
                  }
                  else {
                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);
                    bVar14 = bVar26 & 7;
                    if ((bVar26 & 7) == 0) {
                      if (((anon_union_4_3_b582a2bd_for_u2_ *)
                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)
                      {
                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);
                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;
                      }
                      else {
                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);
                      }
                      if ((char)bVar23 < '\0') {
LAB_0008ca90:
                        pSVar35 = local_94;
                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;
                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];
                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;
                        puVar30[-4] = pOVar25;
                        puVar30[-5] = 0x8caac;
                        iVar21 = (*(code *)ppuVar4)();
                        pOVar25 = extraout_ECX_01;
                        pSVar27 = local_d0;
                        if (iVar21 != 0) goto LAB_0008c8f9;
                        goto LAB_0008cac0;
                      }
                    }
                    else {
                      if (bVar14 == 4) goto LAB_0008cbc8;
                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <
                          '\0') goto LAB_0008cb38;
                    }
                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);
                    pSVar35 = local_94;
LAB_0008c8f9:
                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];
                    if (p_Var3 == (_func_int_varargs *)0x0) {
                      puVar30[-2] = local_90 + -0x65bc7;
                      puVar30[-3] = 0x69;
                      puVar30[-4] = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */
                      puVar30[-5] = 0x8ce5b;
                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])
                      ;
                    }
                    iVar21 = *(int *)p_Var3;
                    puVar30[-3] = local_94;
                    puVar30[-4] = p_Var3;
                    pcVar10 = *(code **)(iVar21 + 0x1c);
                    puVar30[-5] = 0x8c915;
                    cVar15 = (*pcVar10)();
                    pOVar25 = extraout_ECX_00;
                    if (cVar15 != '\0') goto LAB_0008cac0;
                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];
                    if (p_Var3 == (_func_int_varargs *)0x0) {
                      puVar30[-2] = local_90 + -0x65b32;
                      puVar30[-3] = 0x5c;
                      puVar30[-4] = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                      puVar30[-5] = 0x8ce79;
                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])
                      ;
                    }
                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);
                    bVar13 = false;
                    bVar37 = pbVar34 == (byte *)0x0;
                    if (bVar37) {
                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);
                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);
                      bVar14 = bVar14 & 3;
LAB_0008c9da:
                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||
                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {
LAB_0008c9f4:
                        puVar30[-4] = (int)local_a0 >> 0x1f;
                        puVar30[-5] = local_a0;
                        puVar30[-6] = local_98;
                        puVar30[-7] = relinfo;
                        puVar30[-8] = local_94;
                        puVar30[-9] = 0x8ca1a;
                        gold::gold_undefined_symbol_at_location<64,_false>
                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],
                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],
                                   *(off_t *)(puVar30 + -4));
                        unaff_EDI = pSVar35;
                        goto LAB_0008c180;
                      }
                    }
                    else {
                      pOVar25 = (Object *)0xb;
                      pbVar33 = pbVar34;
                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);
                      do {
                        pSVar35 = pSVar27;
                        if (pOVar25 == (Object *)0x0) break;
                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);
                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);
                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->
                                           _vptr_Output_data;
                        bVar13 = *pbVar33 < bVar26;
                        bVar37 = *pbVar33 == bVar26;
                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;
                        pSVar27 = pSVar35;
                      } while (bVar37);
                      bVar36 = false;
                      bVar13 = (!bVar13 && !bVar37) == bVar13;
                      if (bVar13) goto LAB_0008cac0;
                      iVar21 = 0xb;
                      pbVar33 = pbVar34;
                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);
                      do {
                        pSVar35 = pSVar27;
                        if (iVar21 == 0) break;
                        iVar21 = iVar21 + -1;
                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);
                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->
                                           _vptr_Output_data;
                        bVar36 = *pbVar33 < bVar26;
                        bVar13 = *pbVar33 == bVar26;
                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;
                        pSVar27 = pSVar35;
                      } while (bVar13);
                      bVar37 = false;
                      bVar13 = (!bVar36 && !bVar13) == bVar36;
                      if (bVar13) goto LAB_0008c9f4;
                      iVar21 = 0x17;
                      pbVar33 = pbVar34;
                      ppuVar28 = local_90 + -0x687e4;
                      do {
                        if (iVar21 == 0) break;
                        iVar21 = iVar21 + -1;
                        bVar37 = *pbVar33 < *(byte *)ppuVar28;
                        bVar13 = *pbVar33 == *(byte *)ppuVar28;
                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;
                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);
                      } while (bVar13);
                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);
                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);
                      cVar15 = (!bVar37 && !bVar13) - bVar37;
                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);
                      bVar14 = bVar14 & 3;
                      bVar13 = cVar15 == '\0';
                      if ((!bVar13) ||
                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,
                         pSVar35 = local_94, !bVar13)) {
                        bVar37 = false;
                        pOVar25 = (Object *)0x16;
                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);
                        do {
                          pSVar35 = pSVar27;
                          if (pOVar25 == (Object *)0x0) break;
                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);
                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);
                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->
                                             _vptr_Output_data;
                          bVar37 = *pbVar34 < bVar26;
                          bVar13 = *pbVar34 == bVar26;
                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;
                          pSVar27 = pSVar35;
                        } while (bVar13);
                        if (((!bVar37 && !bVar13) != bVar37) ||
                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)
                            < '\0')) goto LAB_0008c9da;
                      }
                    }
                  }
LAB_0008cad3:
                  unaff_EDI = pSVar35;
                  if (bVar14 == 0) goto LAB_0008c180;
                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);
                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);
                  bVar26 = bVar26 & 7;
                  if (bVar26 != 0) goto LAB_0008cb54;
                }
                if ((((anon_union_4_3_b582a2bd_for_u2_ *)
                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&
                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {
                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;
                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);
                  pOVar25 = (Object *)(uint)(bVar23 >> 4);
                  if ((bVar23 >> 4 == 2) ||
                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))
                  goto LAB_0008c10d;
LAB_0008cb8b:
                  pOVar25 = (Object *)
                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];
                  if (pOVar25 == (Object *)0x0) {
                    puVar30[-1] = (uint)bVar23;
                    puVar30[-2] = local_90 + -0x65b32;
                    puVar30[-3] = 0x5c;
                    puVar30[-4] = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */
                    puVar30[-5] = &LAB_0008cf0a;
                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);
                  }
                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {
                    unaff_EDI = local_cc;
                    if (bVar26 != 0) goto LAB_0008c180;
                    goto LAB_0008c10d;
                  }
                }
                else {
LAB_0008c10d:
                  unaff_EDI = local_94;
                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment
                             ->output_lists_[3].
                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;
                }
                if (bVar14 == 2) {
                  puVar30[-4] = (int)local_90 + -0x19ca5d;
                  puVar30[-5] = 0x8cc6d;
                  uVar17 = gettext();
                }
                else if (bVar14 < 3) {
                  if (bVar14 != 1) {
                    puVar30[-1] = pOVar25;
                    puVar30[-2] = local_90 + -0x65c80;
                    puVar30[-3] = 0xa4;
                    puVar30[-4] = (int)local_90 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    puVar30[-5] = 0x8ce98;
                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);
                  }
                  puVar30[-4] = (int)local_90 + -0x19ca66;
                  puVar30[-5] = 0x8c385;
                  uVar17 = gettext();
                }
                else {
                  puVar30[-4] = (int)local_90 + -0x19ca56;
                  puVar30[-5] = 0x8c13f;
                  uVar17 = gettext();
                }
                unaff_EDI = (Symbol_table *)
                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;
                puVar30[-4] = local_90 + -0x67173;
                puVar30[-5] = 0x8c163;
                uVar18 = gettext();
                puVar30[-2] = unaff_EDI;
                puVar30[-3] = uVar17;
                puVar30[-4] = uVar18;
                puVar30[-5] = 0x8c174;
                gold::gold_error((char *)puVar30[-4]);
              }
              else {
                if (bVar14 == 4) goto LAB_0008cbc8;
LAB_0008cb38:
                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);
                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);
                bVar14 = bVar23 & 3;
                unaff_EDI = local_94;
                if ((bVar23 & 3) != 0) {
                  bVar26 = bVar26 & 7;
                  pSVar35 = local_94;
LAB_0008cb54:
                  unaff_EDI = pSVar35;
                  if (bVar26 == 4) {
                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;
                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);
                    if ((bVar23 >> 4 != 2) &&
                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)
                       ) goto LAB_0008cb8b;
                  }
                }
              }
LAB_0008c180:
              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {
                puVar30[-3] = (int)local_a0 >> 0x1f;
                puVar30[-4] = local_a0;
                puVar30[-5] = local_98;
                pSVar35 = relinfo->symtab;
                puVar30[-6] = relinfo;
                puVar30[-7] = local_94;
                local_94 = pSVar35;
                puVar30[-8] = &pSVar35->warnings_;
                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */
                puVar30[-9] = 0x8c337;
                gold::Warnings::issue_warning<64,_false>
                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],
                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],
                           *(off_t *)(puVar30 + -4));
              }
            }
          }
        }
        puVar30[-4] = local_b8;
        puVar30[-5] = 0x8c19e;
        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);
        puVar30[-4] = local_9c;
        puVar30[-5] = 0x8c1aa;
        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);
      }
      else {
        *(uint *)((int)puVar30 + -4) = uVar24;
        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;
        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;
        *(Output_section **)((int)puVar30 + -0x10) = output_section;
                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */
        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;
        local_a0 = gold::Output_section::output_offset
                             (*(Output_section **)((int)puVar30 + -0x10),
                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),
                              *(section_offset_type *)((int)puVar30 + -4));
        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;
      }
      local_98 = local_98 + 1;
      if (reloc_count == local_98) goto LAB_0008cc40;
      piVar1 = (int *)(prelocs + 0x1c);
      uVar24 = *(uint *)(prelocs + 0x18);
      prelocs = prelocs + 0x18;
    } while (*piVar1 == 0);
  }
  ppuVar28 = local_90;
  *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65b70;
  *(undefined4 *)((int)puVar30 + -0xc) = 0xc0;
  *(undefined ***)((int)puVar30 + -0x10) = ppuVar28 + -0x672d3;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd71;
  gold::do_gold_unreachable
            (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),
             *(char **)((int)puVar30 + -8));
}



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

void FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,
                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11
                 ,int *param_12)

{
  uint *puVar1;
  code *pcVar2;
  undefined **ppuVar3;
  undefined1 *puVar4;
  char cVar5;
  byte bVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined *puVar10;
  undefined4 uVar11;
  byte bVar12;
  uint uVar13;
  int *extraout_ECX;
  int *extraout_ECX_00;
  int *piVar14;
  int iVar15;
  int *extraout_ECX_01;
  byte bVar16;
  undefined *puVar17;
  undefined **ppuVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  byte *pbVar21;
  byte *pbVar22;
  undefined **unaff_EDI;
  undefined **ppuVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  undefined8 uVar28;
  undefined1 auStack_dc [12];
  undefined **local_d0;
  undefined **local_cc;
  uint local_c8;
  uint local_c4;
  int local_c0;
  char local_b9;
  undefined **local_b8;
  uint local_b4;
  int *local_b0;
  uint local_ac;
  int local_a8;
  undefined **local_a4;
  uint local_a0;
  undefined **local_9c;
  int local_98;
  undefined **local_94;
  undefined **local_90;
  char local_82;
  undefined1 local_81;
  int local_80;
  undefined1 local_7c [8];
  undefined *local_74;
  undefined4 local_70;
  uint local_6c;
  undefined *local_68;
  undefined *local_64;
  undefined *local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined *local_54;
  undefined *local_50;
  byte *local_4c [2];
  byte local_44 [16];
  undefined1 *local_34 [2];
  undefined1 local_2c [28];
  
  bVar27 = 0;
  local_90 = &__DT_PLTGOT;
  local_c4 = param_9;
  local_c0 = param_10;
  local_b9 = param_7;
  if (param_3 != 4) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");
  }
  local_82 = '\0';
  local_b0 = (int *)param_2[2];
  pcVar2 = *(code **)(*local_b0 + 0x8c);
  if (pcVar2 == FUN_00070d40) {
                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */
    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);
  }
  else {
                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */
    local_c8 = (*pcVar2)(local_b0);
  }
  puVar19 = auStack_dc;
  if (param_5 == 0) {
LAB_0008cc40:
    if (local_82 != '\0') {
      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;
      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;
      uVar8 = gettext();
      *(undefined4 *)(puVar19 + -0x10) = uVar8;
      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;
      FUN_0023b810();
      return;
    }
    return;
  }
  uVar13 = *param_4;
  puVar19 = auStack_dc;
  if (param_4[1] == 0) {
    local_a8 = 0;
    local_98 = 0;
    local_d0 = local_90 + 0x1f2;
    puVar19 = auStack_dc;
    local_cc = local_d0;
    do {
      local_a0 = uVar13;
      if (local_b9 == '\0') {
LAB_0008c1ed:
        local_74 = (undefined *)0x0;
        local_70 = 0xffffffff;
        local_ac = param_4[3];
        local_6c = 0x80000000;
        local_68 = (undefined *)0x0;
        local_64 = (undefined *)0x0;
        if (local_ac < local_c8) {
          if ((param_12 != (int *)0x0) &&
             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))
          goto LAB_0008bf67;
          local_94 = (undefined **)local_b0[0x38];
          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {
            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;
            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;
            FUN_002446e0();
          }
          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);
          local_b4 = (uint)local_a4[2] & 0x7ffffff;
          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {
LAB_0008c3f0:
            local_94 = (undefined **)0x0;
            goto LAB_0008bfef;
          }
          local_94 = (undefined **)local_b0[0xf];
          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {
            *(undefined ***)(puVar19 + -4) = unaff_EDI;
            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;
            *(undefined4 *)(puVar19 + -0xc) = 0x50b;
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */
            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;
            FUN_002446e0();
          }
          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);
          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;
          *(uint *)(puVar19 + -8) = local_b4;
          *(int **)(puVar19 + -0xc) = local_b0;
          *(undefined4 *)(puVar19 + -0x10) = *param_2;
                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */
          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;
          cVar5 = FUN_0034cd20();
          if (cVar5 != '\0') goto LAB_0008bfef;
LAB_0008c478:
          local_9c = &local_74;
          local_60 = (undefined *)0x0;
          iVar7 = *local_b0;
          *(undefined4 *)(puVar19 + -8) = param_2[6];
          *(int **)(puVar19 + -0xc) = local_b0;
          local_b8 = &local_60;
          local_5c = 0xffffffff;
          local_58 = 0x80000000;
          local_54 = (undefined *)0x0;
          local_50 = (undefined *)0x0;
          *(byte ***)(puVar19 + -0x10) = local_4c;
                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */
          pcVar2 = *(code **)(iVar7 + 0x40);
          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;
          (*pcVar2)();
          puVar20 = puVar19 + -4;
          bVar24 = false;
          bVar26 = local_a8 == 0;
          if (bVar26) {
            iVar7 = 6;
            pbVar21 = local_4c[0];
            pbVar22 = (byte *)((int)local_90 + -0x19cac3);
            do {
              if (iVar7 == 0) break;
              iVar7 = iVar7 + -1;
              bVar24 = *pbVar21 < *pbVar22;
              bVar26 = *pbVar21 == *pbVar22;
              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
            } while (bVar26);
            bVar25 = false;
            bVar24 = (!bVar24 && !bVar26) == bVar24;
            if (!bVar24) {
              iVar7 = 7;
              pbVar21 = local_4c[0];
              ppuVar23 = local_90 + -0x672af;
              do {
                if (iVar7 == 0) break;
                iVar7 = iVar7 + -1;
                bVar25 = *pbVar21 < *(byte *)ppuVar23;
                bVar24 = *pbVar21 == *(byte *)ppuVar23;
                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
              } while (bVar24);
              bVar26 = false;
              bVar24 = (!bVar25 && !bVar24) == bVar25;
              if (!bVar24) {
                iVar7 = 0x11;
                pbVar21 = local_4c[0];
                ppuVar23 = local_90 + -0x672ad;
                do {
                  if (iVar7 == 0) break;
                  iVar7 = iVar7 + -1;
                  bVar26 = *pbVar21 < *(byte *)ppuVar23;
                  bVar24 = *pbVar21 == *(byte *)ppuVar23;
                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
                } while (bVar24);
                bVar25 = false;
                bVar24 = (!bVar26 && !bVar24) == bVar26;
                if (!bVar24) {
                  iVar7 = 5;
                  pbVar21 = local_4c[0];
                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);
                  do {
                    if (iVar7 == 0) break;
                    iVar7 = iVar7 + -1;
                    bVar25 = *pbVar21 < *pbVar22;
                    bVar24 = *pbVar21 == *pbVar22;
                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                  } while (bVar24);
                  bVar26 = false;
                  bVar24 = (!bVar25 && !bVar24) == bVar25;
                  if (!bVar24) {
                    iVar7 = 5;
                    pbVar21 = local_4c[0];
                    ppuVar23 = local_90 + -0x672a7;
                    do {
                      if (iVar7 == 0) break;
                      iVar7 = iVar7 + -1;
                      bVar26 = *pbVar21 < *(byte *)ppuVar23;
                      bVar24 = *pbVar21 == *(byte *)ppuVar23;
                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
                    } while (bVar24);
                    bVar25 = false;
                    bVar24 = (!bVar26 && !bVar24) == bVar26;
                    if (!bVar24) {
                      iVar7 = 4;
                      pbVar21 = local_4c[0];
                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);
                      do {
                        if (iVar7 == 0) break;
                        iVar7 = iVar7 + -1;
                        bVar25 = *pbVar21 < *pbVar22;
                        bVar24 = *pbVar21 == *pbVar22;
                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                      } while (bVar24);
                      bVar26 = false;
                      bVar24 = (!bVar25 && !bVar24) == bVar25;
                      if (!bVar24) {
                        iVar7 = 10;
                        pbVar21 = local_4c[0];
                        pbVar22 = (byte *)((int)local_90 + -0x19a212);
                        do {
                          if (iVar7 == 0) break;
                          iVar7 = iVar7 + -1;
                          bVar26 = *pbVar21 < *pbVar22;
                          bVar24 = *pbVar21 == *pbVar22;
                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        } while (bVar24);
                        bVar25 = false;
                        bVar24 = (!bVar26 && !bVar24) == bVar26;
                        if (!bVar24) {
                          iVar7 = 0x12;
                          pbVar21 = local_4c[0];
                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);
                          do {
                            if (iVar7 == 0) break;
                            iVar7 = iVar7 + -1;
                            bVar25 = *pbVar21 < *pbVar22;
                            bVar24 = *pbVar21 == *pbVar22;
                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                          } while (bVar24);
                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;
                        }
                        goto LAB_0008c74a;
                      }
                    }
                  }
                }
              }
            }
LAB_0008c4f4:
            *(undefined1 ***)(puVar19 + -8) = local_34;
            *(byte ***)(puVar19 + -0xc) = local_4c;
            *(uint *)(puVar19 + -0x10) = local_b4;
            *(int **)(puVar19 + -0x14) = local_b0;
                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */
            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;
            uVar28 = FUN_00291fb0();
            local_54 = (undefined *)0x0;
            local_50 = (undefined *)0x0;
            if ((char)local_34[0] != '\0') {
              local_54 = local_a4[3] + (uint)uVar28;
              local_50 = local_a4[4] +
                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +
                         (int)((ulonglong)uVar28 >> 0x20);
            }
            local_a8 = 1;
            puVar19 = puVar19 + -4;
          }
          else {
            if (local_a8 == 1) goto LAB_0008c4f4;
            if (local_a8 == 3) {
LAB_0008c67e:
              uVar8 = param_2[2];
              if (local_94 == (undefined **)0x0) {
                *(uint *)(puVar19 + -0x10) = local_ac;
                *(undefined4 *)(puVar19 + -0x14) = uVar8;
                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */
                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;
                uVar9 = FUN_002990a0();
                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;
                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;
                uVar11 = gettext();
                *(uint *)(puVar19 + -0xc) = local_ac;
                *(undefined4 *)(puVar19 + -0x10) = uVar9;
                *(undefined4 *)(puVar19 + -0x14) = uVar11;
                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;
                *(uint *)(puVar19 + -0x1c) = local_a0;
                *(int *)(puVar19 + -0x20) = local_98;
                *(undefined4 **)(puVar19 + -0x24) = param_2;
                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;
                FUN_0023bf10();
                puVar20 = puVar19 + -4;
              }
              else {
                *(undefined ***)(puVar19 + -0x10) = local_94;
                *(undefined1 ***)(puVar19 + -0x14) = local_34;
                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;
                FUN_0034dd40();
                puVar4 = local_34[0];
                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;
                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;
                uVar9 = gettext();
                *(undefined1 **)(puVar19 + -0x14) = puVar4;
                *(undefined4 *)(puVar19 + -0x18) = uVar9;
                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;
                *(uint *)(puVar19 + -0x20) = local_a0;
                *(int *)(puVar19 + -0x24) = local_98;
                *(undefined4 **)(puVar19 + -0x28) = param_2;
                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */
                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;
                FUN_0023bf10();
                puVar20 = puVar19 + -8;
                if (local_34[0] != local_2c) {
                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];
                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;
                  FUN_003ae080();
                  puVar20 = puVar19 + -8;
                }
              }
              *(undefined1 **)(puVar20 + -4) = &local_81;
              *(undefined1 **)(puVar20 + -8) = local_7c;
              *(uint *)(puVar20 + -0xc) = local_ac;
              *(undefined4 *)(puVar20 + -0x10) = uVar8;
                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */
              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;
              iVar7 = FUN_002986d0();
              if (iVar7 != 0) {
                *(int **)(puVar20 + -8) = &local_80;
                *(int *)(puVar20 + -0xc) = iVar7;
                *(undefined4 *)(puVar20 + -0x10) = uVar8;
                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;
                iVar7 = FUN_00292240();
                if (local_80 != 0) {
                  *(int *)(puVar20 + -0xc) = local_80;
                  *(undefined4 *)(puVar20 + -0x10) = uVar8;
                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */
                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;
                  uVar8 = FUN_002990a0();
                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;
                  uVar9 = gettext();
                  *(undefined4 *)(puVar20 + -0xc) = uVar8;
                  *(undefined4 *)(puVar20 + -0x10) = uVar9;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;
                  FUN_0023b870();
                }
                if (iVar7 != 0) {
                  uVar8 = *(undefined4 *)(iVar7 + 4);
                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;
                  uVar9 = gettext();
                  *(undefined4 *)(puVar20 + -0xc) = uVar8;
                  *(undefined4 *)(puVar20 + -0x10) = uVar9;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;
                  FUN_0023b870();
                }
              }
              local_a8 = 3;
            }
            else {
LAB_0008c74a:
              local_a8 = 2;
            }
            local_54 = (undefined *)0x0;
            local_50 = (undefined *)0x0;
            puVar19 = puVar20;
          }
          if (local_60 != (undefined *)0x0) {
            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;
            *(undefined4 *)(puVar19 + -0xc) = 0x716;
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */
            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;
            FUN_002446e0();
          }
          local_60 = (undefined *)0xffffffff;
          if (local_4c[0] != local_44) {
            *(byte **)(puVar19 + -0x10) = local_4c[0];
            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;
            FUN_003ae080();
          }
          local_a4 = &local_60;
          if (-1 < (int)local_a0) goto LAB_0008c029;
LAB_0008c588:
          iVar7 = 0;
        }
        else {
          if ((param_12 == (int *)0x0) ||
             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))
          {
            if (local_ac < (uint)local_b0[0x2c]) {
LAB_0008cd98:
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;
              *(undefined4 *)(puVar19 + -0xc) = 0x17f;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */
              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;
              FUN_002446e0();
            }
            uVar13 = local_ac - local_b0[0x2c];
            local_94 = (undefined **)local_b0[0x30];
            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;
              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;
              FUN_002446e0();
            }
            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);
            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;
            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;
            *(undefined ***)(puVar19 + -0xc) = local_94;
            *(undefined4 *)(puVar19 + -0x10) = *param_2;
                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */
            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;
            local_94 = (undefined **)FUN_0034cd90();
            puVar10 = local_94[4];
            puVar17 = puVar10 + -1;
            if ((undefined *)0xfffffffd < puVar17) {
              if (local_74 != (undefined *)0x0) {
                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;
                *(undefined4 *)(puVar19 + -0xc) = 0x716;
                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;
                FUN_002446e0();
              }
              goto LAB_0008bf7c;
            }
            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;
              *(undefined4 *)(puVar19 + -0xc) = 0x70c;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;
              FUN_002446e0();
            }
LAB_0008c350:
            if (puVar17 == (undefined *)0xfffffffd) {
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;
              *(undefined4 *)(puVar19 + -0xc) = 0x70d;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;
              FUN_002446e0();
            }
          }
          else {
LAB_0008bf67:
            puVar10 = local_94[4];
            puVar17 = puVar10 + -1;
            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;
LAB_0008bf7c:
            local_74 = (undefined *)0xffffffff;
            puVar10 = local_74;
          }
          local_74 = puVar10;
          local_68 = local_94[0xc];
          local_64 = local_94[0xd];
          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {
            local_6c = local_6c | 0x20000000;
          }
          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {
            local_6c = local_6c | 0x40000000;
          }
          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {
            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {
              if ((local_94[3] == (undefined *)0x0) &&
                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {
LAB_0008cc18:
                local_b4 = 0;
                local_a4 = &local_74;
                goto LAB_0008c478;
              }
            }
            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;
          }
          local_a4 = &local_74;
LAB_0008bfef:
          local_9c = &local_74;
          local_60 = (undefined *)0x0;
          local_5c = 0xffffffff;
          local_58 = 0x80000000;
          local_54 = (undefined *)0x0;
          local_50 = (undefined *)0x0;
          if ((int)local_a0 < 0) goto LAB_0008c588;
LAB_0008c029:
          if (param_11 <= local_a0) goto LAB_0008c588;
          iVar7 = local_a0 + param_8;
        }
        local_b8 = &local_60;
        *(uint *)(puVar19 + -4) = param_11;
        unaff_EDI = (undefined **)
                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));
        *(undefined ***)(puVar19 + -8) = unaff_EDI;
        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;
        *(int *)(puVar19 + -0x10) = iVar7;
        *(undefined ***)(puVar19 + -0x14) = local_a4;
        *(undefined ***)(puVar19 + -0x18) = local_94;
        *(uint **)(puVar19 + -0x1c) = param_4;
        *(int *)(puVar19 + -0x20) = local_98;
                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */
        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;
        cVar5 = FUN_00089330();
        ppuVar23 = local_94;
        if (cVar5 != '\0') {
          if (iVar7 == 0) {
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;
            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;
            uVar8 = gettext();
            unaff_EDI = *(undefined ***)(puVar19 + -0x10);
            *(uint *)(puVar19 + -0xc) = local_a0;
            *(undefined4 *)(puVar19 + -0x10) = uVar8;
            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;
            *(uint *)(puVar19 + -0x18) = local_a0;
            *(int *)(puVar19 + -0x1c) = local_98;
            *(undefined4 **)(puVar19 + -0x20) = param_2;
                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */
            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;
            FUN_0023bf10();
          }
          else {
            unaff_EDI = local_94;
            if (local_94 != (undefined **)0x0) {
              bVar16 = *(byte *)((int)local_94 + 0x2a);
              bVar6 = bVar16 & 7;
              if ((bVar16 & 7) == 0) {
                if ((local_94[3] == (undefined *)0x0) &&
                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {
LAB_0008cbc8:
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));
                  bVar12 = *(byte *)(local_94 + 10) >> 4;
                  piVar14 = (int *)(uint)bVar12;
                  ppuVar23 = local_94;
                  if (bVar12 != 2) {
                    if (((uint)local_94[0xb] & 2) != 0) {
                      local_a4 = (undefined **)
                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
                      goto LAB_0008cad3;
                    }
                    ppuVar18 = local_90 + 0x1f2;
                    piVar14 = *(int **)(*ppuVar18 + 8);
                    if (piVar14 == (int *)0x0) {
                      *(undefined ***)(puVar19 + -4) = local_94;
                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;
                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;
                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */
                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;
                      FUN_002446e0();
                    }
                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {
                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {
                        if (bVar6 == 0) {
                          ppuVar18 = local_90 + -0x15e4b4;
                          goto LAB_0008ca90;
                        }
                        goto LAB_0008cb38;
                      }
                      goto LAB_0008c8f9;
                    }
                  }
                  goto LAB_0008cac0;
                }
                piVar14 = (int *)local_94[2];
                ppuVar18 = local_90 + -0x15e4b4;
                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);
                if (ppuVar3 == ppuVar18) {
LAB_0008c0da:
                  bVar16 = bVar16 & 7;
                  bVar12 = *(byte *)((int)local_94 + 0x29);
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                  bVar6 = bVar12 & 3;
                  unaff_EDI = local_94;
                  if ((bVar12 & 3) == 0) goto LAB_0008c180;
                }
                else {
                  *(int **)(puVar19 + -0x10) = piVar14;
                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */
                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;
                  iVar7 = (*(code *)ppuVar3)();
                  piVar14 = extraout_ECX;
                  if (iVar7 == 0) {
LAB_0008cac0:
                    local_a4 = (undefined **)
                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
                  }
                  else {
                    bVar16 = *(byte *)((int)local_94 + 0x2a);
                    bVar6 = bVar16 & 7;
                    if ((bVar16 & 7) == 0) {
                      if (local_94[3] == (undefined *)0x0) {
                        bVar12 = *(byte *)((int)local_94 + 0x2b);
                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;
                      }
                      else {
                        bVar12 = *(byte *)((int)local_94 + 0x2b);
                      }
                      if ((char)bVar12 < '\0') {
LAB_0008ca90:
                        ppuVar23 = local_94;
                        piVar14 = (int *)local_94[2];
                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);
                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;
                        *(int **)(puVar19 + -0x10) = piVar14;
                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;
                        iVar7 = (*(code *)ppuVar3)();
                        piVar14 = extraout_ECX_01;
                        ppuVar18 = local_d0;
                        if (iVar7 != 0) goto LAB_0008c8f9;
                        goto LAB_0008cac0;
                      }
                    }
                    else {
                      if (bVar6 == 4) goto LAB_0008cbc8;
                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;
                    }
                    ppuVar18 = local_90 + 0x1f2;
                    ppuVar23 = local_94;
LAB_0008c8f9:
                    piVar14 = *(int **)(*ppuVar18 + 0xc);
                    if (piVar14 == (int *)0x0) {
                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;
                      *(undefined4 *)(puVar19 + -0xc) = 0x69;
                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */
                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;
                      FUN_002446e0();
                    }
                    iVar7 = *piVar14;
                    *(undefined ***)(puVar19 + -0xc) = local_94;
                    *(int **)(puVar19 + -0x10) = piVar14;
                    pcVar2 = *(code **)(iVar7 + 0x1c);
                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;
                    cVar5 = (*pcVar2)();
                    piVar14 = extraout_ECX_00;
                    if (cVar5 != '\0') goto LAB_0008cac0;
                    iVar7 = *(int *)(*ppuVar18 + 8);
                    if (iVar7 == 0) {
                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;
                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;
                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;
                      FUN_002446e0();
                    }
                    pbVar21 = *(byte **)(iVar7 + 0x42e4);
                    bVar24 = false;
                    bVar26 = pbVar21 == (byte *)0x0;
                    if (bVar26) {
                      local_a4 = (undefined **)
                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
LAB_0008c9da:
                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||
                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {
LAB_0008c9f4:
                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;
                        *(uint *)(puVar19 + -0x14) = local_a0;
                        *(int *)(puVar19 + -0x18) = local_98;
                        *(undefined4 **)(puVar19 + -0x1c) = param_2;
                        *(undefined ***)(puVar19 + -0x20) = local_94;
                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;
                        FUN_0023c790();
                        unaff_EDI = ppuVar23;
                        goto LAB_0008c180;
                      }
                    }
                    else {
                      piVar14 = (int *)0xb;
                      pbVar22 = pbVar21;
                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);
                      do {
                        ppuVar23 = ppuVar18;
                        if (piVar14 == (int *)0x0) break;
                        piVar14 = (int *)((int)piVar14 + -1);
                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);
                        bVar24 = *pbVar22 < *(byte *)ppuVar18;
                        bVar26 = *pbVar22 == *(byte *)ppuVar18;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        ppuVar18 = ppuVar23;
                      } while (bVar26);
                      bVar25 = false;
                      bVar24 = (!bVar24 && !bVar26) == bVar24;
                      if (bVar24) goto LAB_0008cac0;
                      iVar15 = 0xb;
                      pbVar22 = pbVar21;
                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);
                      do {
                        ppuVar23 = ppuVar18;
                        if (iVar15 == 0) break;
                        iVar15 = iVar15 + -1;
                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);
                        bVar25 = *pbVar22 < *(byte *)ppuVar18;
                        bVar24 = *pbVar22 == *(byte *)ppuVar18;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        ppuVar18 = ppuVar23;
                      } while (bVar24);
                      bVar26 = false;
                      bVar24 = (!bVar25 && !bVar24) == bVar25;
                      if (bVar24) goto LAB_0008c9f4;
                      iVar15 = 0x17;
                      pbVar22 = pbVar21;
                      ppuVar23 = local_90 + -0x687e4;
                      do {
                        if (iVar15 == 0) break;
                        iVar15 = iVar15 + -1;
                        bVar26 = *pbVar22 < *(byte *)ppuVar23;
                        bVar24 = *pbVar22 == *(byte *)ppuVar23;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
                      } while (bVar24);
                      local_a4 = (undefined **)
                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                      cVar5 = (!bVar26 && !bVar24) - bVar26;
                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);
                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
                      bVar24 = cVar5 == '\0';
                      if ((!bVar24) ||
                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,
                         !bVar24)) {
                        bVar26 = false;
                        piVar14 = (int *)0x16;
                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);
                        do {
                          ppuVar23 = ppuVar18;
                          if (piVar14 == (int *)0x0) break;
                          piVar14 = (int *)((int)piVar14 + -1);
                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);
                          bVar26 = *pbVar21 < *(byte *)ppuVar18;
                          bVar24 = *pbVar21 == *(byte *)ppuVar18;
                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                          ppuVar18 = ppuVar23;
                        } while (bVar24);
                        if (((!bVar26 && !bVar24) != bVar26) ||
                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;
                      }
                    }
                  }
LAB_0008cad3:
                  unaff_EDI = ppuVar23;
                  if (bVar6 == 0) goto LAB_0008c180;
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));
                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;
                  if (bVar16 != 0) goto LAB_0008cb54;
                }
                if ((local_94[3] == (undefined *)0x0) &&
                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {
                  bVar12 = *(byte *)(local_94 + 10);
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                  piVar14 = (int *)(uint)(bVar12 >> 4);
                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;
LAB_0008cb8b:
                  piVar14 = *(int **)(*local_cc + 8);
                  if (piVar14 == (int *)0x0) {
                    *(uint *)(puVar19 + -4) = (uint)bVar12;
                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;
                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;
                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */
                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;
                    FUN_002446e0();
                  }
                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {
                    unaff_EDI = local_cc;
                    if (bVar16 != 0) goto LAB_0008c180;
                    goto LAB_0008c10d;
                  }
                }
                else {
LAB_0008c10d:
                  unaff_EDI = local_94;
                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;
                }
                if (bVar6 == 2) {
                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;
                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;
                  uVar8 = gettext();
                }
                else if (bVar6 < 3) {
                  if (bVar6 != 1) {
                    *(int **)(puVar19 + -4) = piVar14;
                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;
                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;
                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;
                    FUN_002446e0();
                  }
                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;
                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;
                  uVar8 = gettext();
                }
                else {
                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;
                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;
                  uVar8 = gettext();
                }
                unaff_EDI = (undefined **)*local_94;
                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;
                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;
                uVar9 = gettext();
                *(undefined ***)(puVar19 + -8) = unaff_EDI;
                *(undefined4 *)(puVar19 + -0xc) = uVar8;
                *(undefined4 *)(puVar19 + -0x10) = uVar9;
                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;
                FUN_0023b810();
              }
              else {
                if (bVar6 == 4) goto LAB_0008cbc8;
LAB_0008cb38:
                bVar12 = *(byte *)((int)local_94 + 0x29);
                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                bVar6 = bVar12 & 3;
                unaff_EDI = local_94;
                if ((bVar12 & 3) != 0) {
                  bVar16 = bVar16 & 7;
                  ppuVar23 = local_94;
LAB_0008cb54:
                  unaff_EDI = ppuVar23;
                  if (bVar16 == 4) {
                    bVar12 = *(byte *)(local_94 + 10);
                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))
                    goto LAB_0008cb8b;
                  }
                }
              }
LAB_0008c180:
              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {
                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;
                *(uint *)(puVar19 + -0x10) = local_a0;
                *(int *)(puVar19 + -0x14) = local_98;
                ppuVar23 = (undefined **)*param_2;
                *(undefined4 **)(puVar19 + -0x18) = param_2;
                *(undefined ***)(puVar19 + -0x1c) = local_94;
                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;
                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */
                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;
                local_94 = ppuVar23;
                FUN_00350ac0();
              }
            }
          }
        }
        *(undefined ***)(puVar19 + -0x10) = local_b8;
        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;
        FUN_00094b30();
        *(undefined ***)(puVar19 + -0x10) = local_9c;
        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;
        FUN_00094b30();
      }
      else {
        *(uint *)(puVar19 + -4) = uVar13;
        *(undefined4 *)(puVar19 + -8) = param_2[6];
        *(undefined4 *)(puVar19 + -0xc) = param_2[2];
        *(undefined4 *)(puVar19 + -0x10) = param_6;
                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */
        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;
        local_a0 = FUN_002cda80();
        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;
      }
      local_98 = local_98 + 1;
      if (param_5 == local_98) goto LAB_0008cc40;
      puVar1 = param_4 + 7;
      uVar13 = param_4[6];
      param_4 = param_4 + 6;
    } while (*puVar1 == 0);
  }
  ppuVar23 = local_90;
  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;
  *(undefined4 *)(puVar19 + -0xc) = 0xc0;
  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;
  FUN_002446e0();
}


CALL 0x00074f02
ADD EAX,0x55e18b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xcc
MOV dword ptr [EBP + 0xffffff74],EAX
MOV EAX,dword ptr [EBP + 0x28]
MOV EDX,dword ptr [EBP + 0x2c]
CMP dword ptr [EBP + 0x10],0x4
MOV dword ptr [EBP + 0xffffff40],EAX
MOVZX EAX,byte ptr [EBP + 0x20]
MOV dword ptr [EBP + 0xffffff44],EDX
MOV byte ptr [EBP + 0xffffff4b],AL
JNZ 0x0008cecf
MOV EAX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV byte ptr [EBP + -0x7e],0x0
MOV ESI,dword ptr [EAX + 0x8]
LEA ECX,[EBX + 0xffa86d40]
MOV EAX,dword ptr [ESI]
MOV dword ptr [EBP + 0xffffff54],ESI
MOV EDX,dword ptr [EAX + 0x8c]
CMP EDX,ECX
JNZ 0x0008cd40
SUB ESP,0xc
PUSH ESI
CALL dword ptr [EAX + 0xbc]
MOV EBX,dword ptr [EBP + 0x18]
MOV dword ptr [EBP + 0xffffff3c],EAX
ADD ESP,0x10
TEST EBX,EBX
JZ 0x0008cc40
MOV ECX,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EBP + 0x14]
MOV ECX,dword ptr [ECX + 0x4]
MOV EAX,dword ptr [EAX]
TEST ECX,ECX
JNZ 0x0008cd50
MOV dword ptr [EBP + 0xffffff5c],0x0
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV dword ptr [EBP + 0xffffff6c],0x0
LEA ESI,[ESI + 0x7c8]
MOV dword ptr [EBP + 0xffffff38],ESI
MOV dword ptr [EBP + 0xffffff34],ESI
JMP 0x0008c1da
MOV EAX,dword ptr [EBP + 0x34]
TEST EAX,EAX
JZ 0x0008c390
MOV EAX,dword ptr [EBP + 0x34]
MOV EBX,dword ptr [EBP + 0xffffff6c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + EBX*0x4]
MOV dword ptr [EBP + 0xffffff70],EAX
TEST EAX,EAX
JZ 0x0008c390
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV EAX,dword ptr [EAX + 0x10]
LEA EDX,[EAX + -0x1]
CMP EDX,-0x3
JBE 0x0008c350
MOV dword ptr [EBP + -0x70],0xffffffff
MOV ECX,dword ptr [EBP + 0xffffff70]
MOV EAX,dword ptr [ECX + 0x30]
MOV EDX,dword ptr [ECX + 0x34]
MOV dword ptr [EBP + -0x64],EAX
MOVZX EAX,byte ptr [ECX + 0x28]
MOV dword ptr [EBP + -0x60],EDX
AND EAX,0xf
CMP EAX,0x6
JZ 0x0008c8a0
CMP EAX,0xa
JNZ 0x0008bfae
OR byte ptr [EBP + -0x65],0x40
MOV EBX,dword ptr [EBP + 0xffffff70]
MOVZX EDX,byte ptr [EBX + 0x2b]
TEST DL,DL
JNS 0x0008bfe0
MOVZX EAX,byte ptr [EBX + 0x2a]
MOV byte ptr [EBP + 0xffffff68],AL
AND EAX,0x7
JNZ 0x0008cc10
MOV ESI,dword ptr [EBX + 0xc]
TEST ESI,ESI
JNZ 0x0008bfe0
AND EDX,0x20
JNZ 0x0008cc18
NOP
LEA EAX,[EBP + -0x70]
MOV dword ptr [EBP + 0xffffff68],EAX
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBP + -0x5c]
MOV dword ptr [EBP + -0x5c],0x0
MOV dword ptr [EBP + 0xffffff4c],EAX
MOV EAX,dword ptr [EBP + 0xffffff64]
MOV dword ptr [EBP + -0x58],0xffffffff
MOV dword ptr [EBP + -0x54],0x80000000
MOV dword ptr [EBP + -0x50],0x0
MOV dword ptr [EBP + -0x4c],0x0
TEST EAX,EAX
JS 0x0008c588
CMP dword ptr [EBP + 0x30],EAX
JBE 0x0008c588
ADD EAX,dword ptr [EBP + 0x24]
MOV EBX,EAX
MOV ESI,dword ptr [EBP + 0xffffff64]
MOV ECX,dword ptr [EBP + 0x8]
PUSH dword ptr [EBP + 0x30]
LEA EAX,[EBP + -0x7e]
MOV EDX,dword ptr [EBP + 0xc]
MOV EDI,ESI
SAR EDI,0x1f
ADD ESI,dword ptr [EBP + 0xffffff40]
ADC EDI,dword ptr [EBP + 0xffffff44]
PUSH EDI
PUSH ESI
PUSH EBX
PUSH dword ptr [EBP + 0xffffff60]
PUSH dword ptr [EBP + 0xffffff70]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00089330
ADD ESP,0x20
TEST AL,AL
JZ 0x0008c190
TEST EBX,EBX
JZ 0x0008c770
MOV EDI,dword ptr [EBP + 0xffffff70]
TEST EDI,EDI
JZ 0x0008c190
MOVZX EDX,byte ptr [EDI + 0x2a]
MOV EAX,EDX
AND EAX,0x7
JNZ 0x0008cbc0
MOV EBX,dword ptr [EDI + 0xc]
TEST EBX,EBX
JNZ 0x0008c0b8
TEST byte ptr [EDI + 0x2b],0x20
JNZ 0x0008cbc8
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV ECX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffa86d30]
MOV EAX,dword ptr [ECX]
MOV EAX,dword ptr [EAX + 0x14]
CMP EAX,EBX
JNZ 0x0008c8b0
MOV EAX,dword ptr [EBP + 0xffffff70]
AND EDX,0x7
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff60],AL
AND EAX,0x3
JZ 0x0008c180
MOV EDI,dword ptr [EBP + 0xffffff70]
MOV ESI,dword ptr [EDI + 0xc]
TEST ESI,ESI
JNZ 0x0008c10d
TEST byte ptr [EDI + 0x2b],0x20
JNZ 0x0008cc98
MOV EDI,dword ptr [EBP + 0xffffff70]
MOV EDX,dword ptr [EDI + 0x8]
TEST byte ptr [EDX + 0x2c],0x1
JZ 0x0008c180
CMP AL,0x2
JZ 0x0008cc58
JBE 0x0008c368
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
LEA EAX,[EBX + 0xffe635aa]
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV ECX,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
MOV EDI,dword ptr [EAX]
LEA EAX,[ECX + 0xffe63a34]
MOV EBX,ECX
PUSH EAX
CALL 0x00039440
ADD ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x0023b810
ADD ESP,0x10
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EBP + 0xffffff70]
TEST byte ptr [EAX + 0x2b],0x4
JNZ 0x0008c300
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff4c]
CALL 0x00094b30
POP EDX
PUSH dword ptr [EBP + 0xffffff68]
CALL 0x00094b30
ADD ESP,0x10
ADD dword ptr [EBP + 0xffffff6c],0x1
MOV EAX,dword ptr [EBP + 0xffffff6c]
ADD dword ptr [EBP + 0x14],0x18
CMP dword ptr [EBP + 0x18],EAX
JZ 0x0008cc40
MOV EBX,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EBP + 0x14]
MOV EDX,dword ptr [EBX + 0x4]
MOV EAX,dword ptr [EAX]
TEST EDX,EDX
JNZ 0x0008cd50
CMP byte ptr [EBP + 0xffffff4b],0x0
MOV dword ptr [EBP + 0xffffff64],EAX
JNZ 0x0008c870
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [EBP + -0x70],0x0
MOV dword ptr [EBP + -0x6c],0xffffffff
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [EBP + -0x68],0x80000000
MOV dword ptr [EBP + -0x64],0x0
MOV dword ptr [EBP + 0xffffff58],EAX
MOV dword ptr [EBP + -0x60],0x0
CMP dword ptr [EBP + 0xffffff3c],EAX
JA 0x0008bf40
MOV EAX,dword ptr [EBP + 0x34]
TEST EAX,EAX
JZ 0x0008c24b
MOV EAX,dword ptr [EBP + 0x34]
MOV ECX,dword ptr [EBP + 0xffffff6c]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + ECX*0x4]
MOV dword ptr [EBP + 0xffffff70],EAX
TEST EAX,EAX
JNZ 0x0008bf67
MOV ESI,dword ptr [EBP + 0xffffff54]
MOV EDI,dword ptr [EBP + 0xffffff58]
MOV EAX,dword ptr [ESI + 0xb0]
CMP EDI,EAX
JC 0x0008cd98
MOV ECX,EDI
MOV EDX,dword ptr [ESI + 0xbc]
SUB ECX,EAX
MOV EAX,dword ptr [ESI + 0xc0]
MOV dword ptr [EBP + 0xffffff70],EAX
SUB EAX,EDX
SAR EAX,0x2
CMP ECX,EAX
JNC 0x0008cdda
MOV EAX,dword ptr [EDX + ECX*0x4]
MOV dword ptr [EBP + 0xffffff70],EAX
TEST EAX,EAX
JZ 0x0008cd98
MOV EAX,dword ptr [EBP + 0xffffff70]
TEST byte ptr [EAX + 0x2a],0x10
JZ 0x0008bf67
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EAX
MOV EAX,dword ptr [EBP + 0xc]
PUSH dword ptr [EAX]
CALL 0x0034cd90
MOV dword ptr [EBP + 0xffffff70],EAX
MOV EAX,dword ptr [EAX + 0x10]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + -0x70]
LEA EDX,[EAX + -0x1]
CMP EDX,-0x3
JBE 0x0008c340
TEST ECX,ECX
JZ 0x0008bf7c
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe687a0]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x716
PUSH EAX
CALL 0x002446e0
MOV EAX,dword ptr [EBP + 0xffffff64]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff74]
CDQ
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0xffffff6c]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0xffffff70]
MOV dword ptr [EBP + 0xffffff70],EAX
ADD EAX,0x100
PUSH EAX
CALL 0x00350ac0
ADD ESP,0x20
JMP 0x0008c190
TEST ECX,ECX
JZ 0x0008c350
CMP ECX,-0x2
JNZ 0x0008cdfb
LEA ESI,[ESI]
CMP EDX,-0x3
JZ 0x0008ce1c
MOV dword ptr [EBP + -0x70],EAX
JMP 0x0008bf83
CMP AL,0x1
JNZ 0x0008ce79
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
LEA EAX,[EBX + 0xffe6359a]
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0008c144
MOV EAX,dword ptr [EBP + 0xffffff54]
MOV EDX,dword ptr [EAX + 0xdc]
MOV EAX,dword ptr [EAX + 0xe0]
MOV dword ptr [EBP + 0xffffff70],EAX
SUB EAX,EDX
SAR EAX,0x2
IMUL EAX,EAX,-0x33333333
CMP dword ptr [EBP + 0xffffff58],EAX
JNC 0x0008cdb9
MOV EAX,dword ptr [EBP + 0xffffff58]
LEA EAX,[EAX + EAX*0x4]
LEA EAX,[EDX + EAX*0x4]
MOV ESI,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + 0xffffff60],EAX
MOV dword ptr [EBP + 0xffffff70],ESI
AND ESI,0x7ffffff
MOV dword ptr [EBP + 0xffffff50],ESI
TEST byte ptr [EAX + 0xb],0x8
JZ 0x0008c3f0
TEST ESI,ESI
JNZ 0x0008c410
MOV dword ptr [EBP + 0xffffff70],0x0
LEA EAX,[EBP + -0x70]
MOV dword ptr [EBP + 0xffffff68],EAX
JMP 0x0008bfef
MOV EAX,dword ptr [EBP + 0xffffff54]
MOV EDX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + 0xffffff70],EAX
SUB EAX,EDX
SAR EAX,0x2
CMP ESI,EAX
JNC 0x0008ce98
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV EAX,dword ptr [EDX + EAX*0x4]
MOV dword ptr [EBP + 0xffffff70],EAX
TEST EAX,EAX
JNZ 0x0008c3f0
MOV EAX,dword ptr [EBP + 0xc]
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff50]
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH dword ptr [EBP + 0xffffff54]
PUSH dword ptr [EAX]
CALL 0x0034cd20
ADD ESP,0x10
TEST AL,AL
LEA EAX,[EBP + -0x70]
MOV dword ptr [EBP + 0xffffff68],EAX
JNZ 0x0008bfef
LEA ESI,[ESI]
MOV ECX,dword ptr [EBP + 0xffffff54]
MOV ESI,dword ptr [EBP + 0xc]
SUB ESP,0x4
LEA EBX,[EBP + -0x48]
MOV dword ptr [EBP + -0x5c],0x0
MOV EAX,dword ptr [ECX]
PUSH dword ptr [ESI + 0x18]
PUSH ECX
LEA ECX,[EBP + -0x5c]
MOV dword ptr [EBP + -0x58],0xffffffff
MOV dword ptr [EBP + -0x54],0x80000000
MOV dword ptr [EBP + -0x50],0x0
MOV dword ptr [EBP + -0x4c],0x0
PUSH EBX
MOV dword ptr [EBP + 0xffffff4c],ECX
CALL dword ptr [EAX + 0x40]
MOV EAX,dword ptr [EBP + 0xffffff5c]
ADD ESP,0xc
TEST EAX,EAX
JNZ 0x0008c730
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [EBP + -0x48]
MOV ECX,0x6
LEA EDI,[ESI + 0xffe6353d]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x0008c590
LEA EAX,[EBP + -0x30]
PUSH EAX
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xffffff54]
CALL 0x00291fb0
ADD ESP,0x10
XOR ECX,ECX
XOR EBX,EBX
CMP byte ptr [EBP + -0x30],0x0
JZ 0x0008c52d
MOV ESI,dword ptr [EBP + 0xffffff60]
ADD EAX,dword ptr [ESI + 0xc]
ADC EDX,dword ptr [ESI + 0x10]
MOV ECX,EAX
MOV EBX,EDX
MOV dword ptr [EBP + -0x50],ECX
MOV dword ptr [EBP + -0x4c],EBX
MOV dword ptr [EBP + 0xffffff5c],0x1
MOV ECX,dword ptr [EBP + -0x5c]
TEST ECX,ECX
JNZ 0x0008cd71
MOV EAX,dword ptr [EBP + -0x48]
LEA EDX,[EBP + -0x40]
MOV dword ptr [EBP + -0x5c],0xffffffff
CMP EAX,EDX
JZ 0x0008c56b
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
LEA EAX,[EBP + -0x5c]
MOV dword ptr [EBP + 0xffffff4c],EAX
MOV dword ptr [EBP + 0xffffff60],EAX
MOV EAX,dword ptr [EBP + 0xffffff64]
TEST EAX,EAX
JNS 0x0008c029
XOR EBX,EBX
JMP 0x0008c037
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV ECX,0x7
LEA EDI,[ESI + 0xffe63544]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0008c4f4
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV ECX,0x11
LEA EDI,[ESI + 0xffe6354c]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0008c4f4
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV ECX,0x5
LEA EDI,[ESI + 0xffe6355e]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0008c4f4
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV ECX,0x5
LEA EDI,[ESI + 0xffe63564]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0008c4f4
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV ECX,0x4
LEA EDI,[ESI + 0xffe6356a]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0008c4f4
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV ECX,0xa
MOV ESI,EAX
LEA EDI,[EBX + 0xffe65dee]
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0008c74a
MOV ESI,EAX
MOV ECX,0x12
LEA EDI,[EBX + 0xffe6356f]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0008c74a
MOV EAX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0xffffff70]
MOV ESI,dword ptr [EAX + 0x8]
TEST EBX,EBX
JZ 0x0008c7b0
SUB ESP,0x8
LEA EAX,[EBP + -0x30]
PUSH dword ptr [EBP + 0xffffff70]
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EAX
CALL 0x0034dd40
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV EDI,dword ptr [EBP + -0x30]
LEA EAX,[EBX + 0xffe63870]
PUSH EAX
CALL 0x00039440
POP EDX
POP ECX
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBP + 0xffffff64]
MOV EDI,dword ptr [EBP + 0xffffff74]
CDQ
PUSH EDX
MOV EBX,EDI
PUSH EAX
PUSH dword ptr [EBP + 0xffffff6c]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023bf10
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
ADD ESP,0x20
CMP EAX,EDX
JZ 0x0008c6fb
SUB ESP,0xc
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
LEA EAX,[EBP + -0x7d]
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EAX
LEA EAX,[EBP + -0x78]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff58]
PUSH ESI
CALL 0x002986d0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0008c810
MOV dword ptr [EBP + 0xffffff5c],0x3
JMP 0x0008c754
CMP dword ptr [EBP + 0xffffff5c],0x1
JZ 0x0008c4f4
CMP dword ptr [EBP + 0xffffff5c],0x3
JZ 0x0008c67e
MOV dword ptr [EBP + 0xffffff5c],0x2
MOV dword ptr [EBP + -0x50],0x0
MOV dword ptr [EBP + -0x4c],0x0
JMP 0x0008c53d
MOV ESI,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
LEA EAX,[ESI + 0xffe63581]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV EBX,dword ptr [EBP + 0xffffff64]
POP EDI
POP EDX
PUSH EBX
PUSH EAX
MOV EAX,EBX
CDQ
PUSH EDX
PUSH EBX
MOV EBX,ESI
PUSH dword ptr [EBP + 0xffffff6c]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023bf10
JMP 0x0008c337
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff58]
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH ESI
CALL 0x002990a0
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV EDI,EAX
LEA EAX,[EBX + 0xffe63818]
MOV dword ptr [ESP],EAX
CALL 0x00039440
ADD ESP,0xc
PUSH dword ptr [EBP + 0xffffff58]
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBP + 0xffffff64]
CDQ
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff6c]
PUSH dword ptr [EBP + 0xc]
CALL 0x0023bf10
ADD ESP,0x20
JMP 0x0008c6fb
SUB ESP,0x4
LEA EDX,[EBP + -0x7c]
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x00292240
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x7c]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0008ccd0
TEST EDI,EDI
JZ 0x0008c720
MOV ESI,dword ptr [EDI + 0x4]
MOV EDI,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
LEA EAX,[EDI + 0xffe638e4]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x0023b870
ADD ESP,0x10
JMP 0x0008c720
PUSH EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH dword ptr [EAX + 0x18]
PUSH dword ptr [EAX + 0x8]
PUSH dword ptr [EBP + 0x1c]
CALL 0x002cda80
MOV dword ptr [EBP + 0xffffff64],EAX
ADD ESP,0x10
CMP EAX,-0x1
JNZ 0x0008c1ed
JMP 0x0008c1ad
OR byte ptr [EBP + -0x65],0x20
JMP 0x0008bfae
SUB ESP,0xc
PUSH ECX
CALL EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0008cac0
MOV EDI,dword ptr [EBP + 0xffffff70]
MOVZX EDX,byte ptr [EDI + 0x2a]
MOV EAX,EDX
AND EAX,0x7
JNZ 0x0008cb20
MOV ECX,dword ptr [EDI + 0xc]
TEST ECX,ECX
JZ 0x0008cb00
MOVZX ECX,byte ptr [EDI + 0x2b]
TEST CL,CL
JS 0x0008ca90
MOV EAX,dword ptr [EBP + 0xffffff74]
LEA EBX,[EAX + 0x7c8]
MOV EAX,dword ptr [EBX]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0008ce3d
MOV EDX,dword ptr [EAX]
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff70]
PUSH EAX
CALL dword ptr [EDX + 0x1c]
ADD ESP,0x10
TEST AL,AL
JNZ 0x0008cac0
MOV EAX,dword ptr [EBX]
MOV EBX,dword ptr [EAX + 0x8]
TEST EBX,EBX
JZ 0x0008ce5b
MOV EDX,dword ptr [EBX + 0x42e4]
TEST EDX,EDX
JZ 0x0008ca28
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ECX,0xb
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e05a]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0008cac0
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ECX,0xb
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e065]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x0008c9f4
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ECX,0x17
MOV ESI,EDX
LEA EDI,[EAX + 0xffe5e070]
CMPSB.REPE ES:EDI,ESI
MOV EDI,dword ptr [EBP + 0xffffff70]
MOVZX EAX,byte ptr [EDI + 0x29]
MOV byte ptr [EBP + 0xffffff60],AL
SETA CL
SBB CL,0x0
AND EAX,0x3
TEST CL,CL
JNZ 0x0008c9b7
TEST byte ptr [EDI + 0x2b],0x1
JZ 0x0008cad3
MOV EDI,dword ptr [EBP + 0xffffff74]
MOV ESI,EDX
MOV ECX,0x16
LEA EDI,[EDI + 0xffe5e087]
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0008cc80
CMP AL,0x2
JZ 0x0008c9f4
CMP byte ptr [EBX + 0x1a25],0x0
JZ 0x0008c9f4
CMP byte ptr [EBX + 0x4eb5],0x0
JZ 0x0008cad3
MOV EAX,dword ptr [EBP + 0xffffff64]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff74]
CDQ
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff6c]
PUSH dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0xffffff70]
CALL 0x0023c790
ADD ESP,0x20
JMP 0x0008c180
MOV EAX,dword ptr [EBP + 0xffffff70]
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff60],AL
AND EAX,0x3
JMP 0x0008c9da
MOV ESI,dword ptr [EBP + 0xffffff74]
LEA EBX,[ESI + 0x7c8]
MOV ECX,dword ptr [EBX]
MOV ECX,dword ptr [ECX + 0x8]
TEST ECX,ECX
JZ 0x0008ceb7
CMP byte ptr [ECX + 0x49b1],0x0
JNZ 0x0008cac0
MOV EDI,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EDI + 0x2b],0x0
JNS 0x0008c8f9
TEST AL,AL
JNZ 0x0008cb38
MOV EAX,dword ptr [EBP + 0xffffff74]
LEA EBX,[EAX + 0xffa86d30]
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV ECX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [ECX]
MOV EAX,dword ptr [EAX + 0x14]
CMP EAX,EBX
JZ 0x0008c0da
SUB ESP,0xc
PUSH ECX
CALL EAX
ADD ESP,0x10
MOV EBX,dword ptr [EBP + 0xffffff34]
TEST EAX,EAX
JNZ 0x0008c8f9
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff70]
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff60],AL
AND EAX,0x3
TEST AL,AL
JZ 0x0008c180
MOV EDX,dword ptr [EBP + 0xffffff70]
MOVZX EBX,byte ptr [EDX + 0x2a]
MOV EDX,EBX
MOV byte ptr [EBP + 0xffffff60],BL
AND DL,0x7
JZ 0x0008c0f6
JMP 0x0008cb54
MOV EDI,dword ptr [EBP + 0xffffff70]
MOVZX ECX,byte ptr [EDI + 0x2b]
TEST CL,0x20
JZ 0x0008c8e5
JMP 0x0008cbc8
CMP AL,0x4
JZ 0x0008cbc8
MOV EAX,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EAX + 0x2b],0x0
JNS 0x0008c8ed
MOV EAX,dword ptr [EBP + 0xffffff70]
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + 0xffffff60],AL
AND EAX,0x3
JZ 0x0008c180
AND EDX,0x7
CMP DL,0x4
JNZ 0x0008c180
MOV EBX,dword ptr [EBP + 0xffffff70]
MOVZX EBX,byte ptr [EBX + 0x28]
MOV ECX,EBX
MOV byte ptr [EBP + 0xffffff60],BL
SHR CL,0x4
CMP CL,0x2
JZ 0x0008c180
MOV ECX,dword ptr [EBP + 0xffffff70]
TEST byte ptr [ECX + 0x2c],0x2
JNZ 0x0008c180
MOV EDI,dword ptr [EBP + 0xffffff38]
MOV ECX,dword ptr [EDI]
MOV ECX,dword ptr [ECX + 0x8]
TEST ECX,ECX
JZ 0x0008ceee
CMP byte ptr [ECX + 0x49b1],0x0
JZ 0x0008c11c
TEST DL,DL
JNZ 0x0008c180
JMP 0x0008c10d
CMP AL,0x4
JNZ 0x0008cb38
MOV ECX,dword ptr [EBP + 0xffffff70]
MOVZX EBX,byte ptr [ECX + 0x28]
MOV ECX,EBX
MOV byte ptr [EBP + 0xffffff60],BL
SHR CL,0x4
CMP CL,0x2
JZ 0x0008cac0
MOV EBX,dword ptr [EBP + 0xffffff70]
TEST byte ptr [EBX + 0x2c],0x2
JZ 0x0008ca40
MOVZX EAX,byte ptr [EBX + 0x29]
MOV byte ptr [EBP + 0xffffff60],AL
AND EAX,0x3
JMP 0x0008cad3
CMP AL,0x4
JNZ 0x0008bfe0
MOV dword ptr [EBP + 0xffffff50],0x0
LEA EAX,[EBP + -0x70]
MOV dword ptr [EBP + 0xffffff68],EAX
MOV dword ptr [EBP + 0xffffff60],EAX
JMP 0x0008c478
CMP byte ptr [EBP + -0x7e],0x0
JNZ 0x0008cd10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
LEA EAX,[EBX + 0xffe635a3]
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0008c144
MOV EDX,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EDX + 0x2a],0x0
JS 0x0008c9da
JMP 0x0008cad3
MOV ECX,dword ptr [EBP + 0xffffff70]
MOVZX EBX,byte ptr [ECX + 0x28]
MOV ECX,EBX
MOV byte ptr [EBP + 0xffffff60],BL
SHR CL,0x4
CMP CL,0x2
JZ 0x0008c10d
MOV EDI,dword ptr [EBP + 0xffffff70]
TEST byte ptr [EDI + 0x2c],0x2
JZ 0x0008cb8b
JMP 0x0008c10d
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EAX
PUSH ESI
CALL 0x002990a0
MOV EBX,dword ptr [EBP + 0xffffff74]
MOV ESI,EAX
LEA EAX,[EBX + 0xffe638c4]
MOV dword ptr [ESP],EAX
CALL 0x00039440
POP ECX
POP EBX
PUSH ESI
PUSH EAX
MOV EBX,dword ptr [EBP + 0xffffff74]
CALL 0x0023b870
ADD ESP,0x10
JMP 0x0008c834
MOV ESI,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
LEA EAX,[ESI + 0xffe63908]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
MOV dword ptr [ESP],EAX
CALL 0x0023b810
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff54]
CALL EDX
JMP 0x0008bee8
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe69240]
PUSH EAX
LEA EAX,[EBX + 0xffe634b4]
PUSH 0xc0
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe687a0]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x716
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe687bc]
PUSH EAX
LEA EAX,[EBX + 0xffe634d9]
PUSH 0x17f
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe688b0]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x8c1
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe688d0]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x8ad
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe68a94]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x70c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe68a94]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x70d
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe690e4]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x69
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe69338]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH ECX
LEA EAX,[EBX + 0xffe68e00]
PUSH EAX
LEA EAX,[EBX + 0xffe634d9]
PUSH 0xa4
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH EDI
LEA EAX,[EBX + 0xffe68f04]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x50b
PUSH EAX
CALL 0x002446e0
LEA EAX,[ESI + 0xffe69338]
PUSH EDI
MOV EBX,ESI
PUSH EAX
LEA EAX,[ESI + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff74]
PUSH ESI
LEA EAX,[EBX + 0xffe687d0]
PUSH EAX
LEA EAX,[EBX + 0xffe6608e]
PUSH 0x1615
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff74]
LEA EAX,[EBX + 0xffe69338]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)\n\n{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}\n\n" comment (function_definition "void FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)\n\n{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}" primitive_type (function_declarator "FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "char param_7" primitive_type identifier) , (parameter_declaration "int param_8" primitive_type identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "int param_10" primitive_type identifier) , (parameter_declaration "uint param_11" type_identifier identifier) , (parameter_declaration "int *param_12" primitive_type (pointer_declarator "*param_12" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int *extraout_ECX;" primitive_type (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int *extraout_ECX_00;" primitive_type (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *extraout_ECX_01;" primitive_type (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined **ppuVar18;" type_identifier (pointer_declarator "**ppuVar18" * (pointer_declarator "*ppuVar18" * identifier)) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined **unaff_EDI;" type_identifier (pointer_declarator "**unaff_EDI" * (pointer_declarator "*unaff_EDI" * 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 "undefined8 uVar28;" type_identifier identifier ;) (declaration "undefined1 auStack_dc [12];" type_identifier (array_declarator "auStack_dc [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_d0;" type_identifier (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier)) ;) (declaration "undefined **local_cc;" type_identifier (pointer_declarator "**local_cc" * (pointer_declarator "*local_cc" * identifier)) ;) (declaration "uint local_c8;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "char local_b9;" primitive_type identifier ;) (declaration "undefined **local_b8;" type_identifier (pointer_declarator "**local_b8" * (pointer_declarator "*local_b8" * identifier)) ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "int *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined **local_a4;" type_identifier (pointer_declarator "**local_a4" * (pointer_declarator "*local_a4" * identifier)) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "undefined **local_9c;" type_identifier (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "undefined **local_94;" type_identifier (pointer_declarator "**local_94" * (pointer_declarator "*local_94" * identifier)) ;) (declaration "undefined **local_90;" type_identifier (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier)) ;) (declaration "char local_82;" primitive_type identifier ;) (declaration "undefined1 local_81;" type_identifier identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "undefined1 local_7c [8];" type_identifier (array_declarator "local_7c [8]" identifier [ number_literal ]) ;) (declaration "undefined *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "undefined *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined *local_50;" type_identifier (pointer_declarator "*local_50" * 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 "undefined1 *local_34 [2];" type_identifier (pointer_declarator "*local_34 [2]" * (array_declarator "local_34 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "local_90 = &__DT_PLTGOT;" (assignment_expression "local_90 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_c4 = param_9;" (assignment_expression "local_c4 = param_9" identifier = identifier) ;) (expression_statement "local_c0 = param_10;" (assignment_expression "local_c0 = param_10" identifier = identifier) ;) (expression_statement "local_b9 = param_7;" (assignment_expression "local_b9 = param_7" identifier = identifier) ;) (if_statement "if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" if (parenthesized_expression "(param_3 != 4)" ( (binary_expression "param_3 != 4" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" { comment (expression_statement "FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");" (call_expression "FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section")" identifier (argument_list "("../../gold/x86_64.cc",0x1615,"relocate_section")" ( (string_literal ""../../gold/x86_64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "local_82 = '\0';" (assignment_expression "local_82 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_b0 = (int *)param_2[2];" (assignment_expression "local_b0 = (int *)param_2[2]" identifier = (cast_expression "(int *)param_2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "pcVar2 = *(code **)(*local_b0 + 0x8c);" (assignment_expression "pcVar2 = *(code **)(*local_b0 + 0x8c)" identifier = (pointer_expression "*(code **)(*local_b0 + 0x8c)" * (cast_expression "(code **)(*local_b0 + 0x8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_b0 + 0x8c)" ( (binary_expression "*local_b0 + 0x8c" (pointer_expression "*local_b0" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar2 == FUN_00070d40) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pcVar2)(local_b0);\n  }" if (parenthesized_expression "(pcVar2 == FUN_00070d40)" ( (binary_expression "pcVar2 == FUN_00070d40" identifier == identifier) )) (compound_statement "{\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }" { comment (expression_statement "local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);" (assignment_expression "local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0)" identifier = (call_expression "(**(code **)(*local_b0 + 0xbc))(local_b0)" (parenthesized_expression "(**(code **)(*local_b0 + 0xbc))" ( (pointer_expression "**(code **)(*local_b0 + 0xbc)" * (pointer_expression "*(code **)(*local_b0 + 0xbc)" * (cast_expression "(code **)(*local_b0 + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_b0 + 0xbc)" ( (binary_expression "*local_b0 + 0xbc" (pointer_expression "*local_b0" * identifier) + number_literal) ))))) )) (argument_list "(local_b0)" ( identifier )))) ;) }) (else_clause "else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pcVar2)(local_b0);\n  }" else (compound_statement "{\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pcVar2)(local_b0);\n  }" { comment (expression_statement "local_c8 = (*pcVar2)(local_b0);" (assignment_expression "local_c8 = (*pcVar2)(local_b0)" identifier = (call_expression "(*pcVar2)(local_b0)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(local_b0)" ( identifier )))) ;) }))) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" identifier = identifier) ;) (if_statement "if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }" { (labeled_statement "LAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" statement_identifier : (if_statement "if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" if (parenthesized_expression "(local_82 != '\0')" ( (binary_expression "local_82 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" { (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd27;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd27" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd2f" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) }))) (return_statement "return;" return ;) })) (expression_statement "uVar13 = *param_4;" (assignment_expression "uVar13 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" identifier = identifier) ;) (if_statement "if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }" if (parenthesized_expression "(param_4[1] == 0)" ( (binary_expression "param_4[1] == 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }" { (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = local_90 + 0x1f2;" (assignment_expression "local_d0 = local_90 + 0x1f2" identifier = (binary_expression "local_90 + 0x1f2" identifier + number_literal)) ;) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" identifier = identifier) ;) (expression_statement "local_cc = local_d0;" (assignment_expression "local_cc = local_d0" identifier = identifier) ;) (do_statement "do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);" do (compound_statement "{\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    }" { (expression_statement "local_a0 = uVar13;" (assignment_expression "local_a0 = uVar13" identifier = identifier) ;) (if_statement "if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" if (parenthesized_expression "(local_b9 == '\0')" ( (binary_expression "local_b9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }" { (labeled_statement "LAB_0008c1ed:\n        local_74 = (undefined *)0x0;" statement_identifier : (expression_statement "local_74 = (undefined *)0x0;" (assignment_expression "local_74 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_70 = 0xffffffff;" (assignment_expression "local_70 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_ac = param_4[3];" (assignment_expression "local_ac = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "local_6c = 0x80000000;" (assignment_expression "local_6c = 0x80000000" 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 "*" *)) ) number_literal)) ;) (expression_statement "local_64 = (undefined *)0x0;" (assignment_expression "local_64 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" if (parenthesized_expression "(local_ac < local_c8)" ( (binary_expression "local_ac < local_c8" identifier < identifier) )) (compound_statement "{\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }" { (if_statement "if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;" if (parenthesized_expression "((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))" ( (binary_expression "(param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0)" (parenthesized_expression "(param_12 != (int *)0x0)" ( (binary_expression "param_12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0)" ( (comma_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0" (assignment_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_12 + local_98 * 4)" * (cast_expression "(undefined ***)(*param_12 + local_98 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_12 + local_98 * 4)" ( (binary_expression "*param_12 + local_98 * 4" (pointer_expression "*param_12" * identifier) + (binary_expression "local_98 * 4" identifier * number_literal)) ))))) , (binary_expression "local_94 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (goto_statement "goto LAB_0008bf67;" goto statement_identifier ;)) (expression_statement "local_94 = (undefined **)local_b0[0x38];" (assignment_expression "local_94 = (undefined **)local_b0[0x38]" identifier = (cast_expression "(undefined **)local_b0[0x38]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b0[0x38]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac)" ( (binary_expression "(uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac" (call_expression "(uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333)" ( (binary_expression "((int)local_94 - local_b0[0x37] >> 2) * -0x33333333" (parenthesized_expression "((int)local_94 - local_b0[0x37] >> 2)" ( (binary_expression "(int)local_94 - local_b0[0x37] >> 2" (binary_expression "(int)local_94 - local_b0[0x37]" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_b0[0x37]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65dd4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdda;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdda" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);" (assignment_expression "local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14)" identifier = (cast_expression "(undefined **)(local_b0[0x37] + local_ac * 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b0[0x37] + local_ac * 0x14)" ( (binary_expression "local_b0[0x37] + local_ac * 0x14" (subscript_expression "local_b0[0x37]" identifier [ number_literal ]) + (binary_expression "local_ac * 0x14" identifier * number_literal)) )))) ;) (expression_statement "local_b4 = (uint)local_a4[2] & 0x7ffffff;" (assignment_expression "local_b4 = (uint)local_a4[2] & 0x7ffffff" identifier = (binary_expression "(uint)local_a4[2] & 0x7ffffff" (cast_expression "(uint)local_a4[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a4[2]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }" if (parenthesized_expression "(((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0))" ( (binary_expression "((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)" (parenthesized_expression "((*(byte *)((int)local_a4 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)((int)local_a4 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((int)local_a4 + 0xb) & 8)" ( (binary_expression "*(byte *)((int)local_a4 + 0xb) & 8" (pointer_expression "*(byte *)((int)local_a4 + 0xb)" * (cast_expression "(byte *)((int)local_a4 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_a4 + 0xb)" ( (binary_expression "(int)local_a4 + 0xb" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(local_b4 == 0)" ( (binary_expression "local_b4 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }" { (labeled_statement "LAB_0008c3f0:\n            local_94 = (undefined **)0x0;" statement_identifier : (expression_statement "local_94 = (undefined **)0x0;" (assignment_expression "local_94 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (goto_statement "goto LAB_0008bfef;" goto statement_identifier ;) })) (expression_statement "local_94 = (undefined **)local_b0[0xf];" (assignment_expression "local_94 = (undefined **)local_b0[0xf]" identifier = (cast_expression "(undefined **)local_b0[0xf]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b0[0xf]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4)" ( (binary_expression "(uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4" (call_expression "(uint)((int)local_94 - local_b0[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_94 - local_b0[0xe] >> 2)" ( (binary_expression "(int)local_94 - local_b0[0xe] >> 2" (binary_expression "(int)local_94 - local_b0[0xe]" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_b0[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar19 + -4) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -4) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -4)" * (cast_expression "(undefined ***)(puVar19 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65c3f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ceb7" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);" (assignment_expression "local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4)" identifier = (pointer_expression "*(undefined ***)(local_b0[0xe] + local_b4 * 4)" * (cast_expression "(undefined ***)(local_b0[0xe] + local_b4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_b0[0xe] + local_b4 * 4)" ( (binary_expression "local_b0[0xe] + local_b4 * 4" (subscript_expression "local_b0[0xe]" identifier [ number_literal ]) + (binary_expression "local_b4 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;" if (parenthesized_expression "(local_94 != (undefined **)0x0)" ( (binary_expression "local_94 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0008c3f0;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar19 + -8) = local_b4;" (assignment_expression "*(uint *)(puVar19 + -8) = local_b4" (pointer_expression "*(uint *)(puVar19 + -8)" * (cast_expression "(uint *)(puVar19 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar19 + -0xc) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0xc) = local_b0" (pointer_expression "*(int **)(puVar19 + -0xc)" * (cast_expression "(int **)(puVar19 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c461;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c461" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = FUN_0034cd20();" (assignment_expression "cVar5 = FUN_0034cd20()" identifier = (call_expression "FUN_0034cd20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_0008bfef;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008bfef;" goto statement_identifier ;)) (labeled_statement "LAB_0008c478:\n          local_9c = &local_74;" statement_identifier : (expression_statement "local_9c = &local_74;" (assignment_expression "local_9c = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;)) (expression_statement "local_60 = (undefined *)0x0;" (assignment_expression "local_60 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *local_b0;" (assignment_expression "iVar7 = *local_b0" identifier = (pointer_expression "*local_b0" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar19 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar19 + -8)" * (cast_expression "(undefined4 *)(puVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar19 + -0xc) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0xc) = local_b0" (pointer_expression "*(int **)(puVar19 + -0xc)" * (cast_expression "(int **)(puVar19 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b8 = &local_60;" (assignment_expression "local_b8 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (expression_statement "local_5c = 0xffffffff;" (assignment_expression "local_5c = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte ***)(puVar19 + -0x10) = local_4c;" (assignment_expression "*(byte ***)(puVar19 + -0x10) = local_4c" (pointer_expression "*(byte ***)(puVar19 + -0x10)" * (cast_expression "(byte ***)(puVar19 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "pcVar2 = *(code **)(iVar7 + 0x40);" (assignment_expression "pcVar2 = *(code **)(iVar7 + 0x40)" identifier = (pointer_expression "*(code **)(iVar7 + 0x40)" * (cast_expression "(code **)(iVar7 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c4bd" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -4;" (assignment_expression "puVar20 = puVar19 + -4" identifier = (binary_expression "puVar19 + -4" identifier + number_literal)) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = local_a8 == 0;" (assignment_expression "bVar26 = local_a8 == 0" identifier = (binary_expression "local_a8 == 0" identifier == number_literal)) ;) (if_statement "if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }" { (expression_statement "iVar7 = 6;" (assignment_expression "iVar7 = 6" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19cac3);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19cac3)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19cac3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19cac3)" ( (binary_expression "(int)local_90 + -0x19cac3" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n            }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar21 < *pbVar22;" (assignment_expression "bVar24 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar22;" (assignment_expression "bVar26 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "ppuVar23 = local_90 + -0x672af;" (assignment_expression "ppuVar23 = local_90 + -0x672af" identifier = (binary_expression "local_90 + -0x672af" identifier + number_literal)) ;) (do_statement "do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);" do (compound_statement "{\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar25 = *pbVar21 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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 )) ;) (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                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "ppuVar23 = local_90 + -0x672ad;" (assignment_expression "ppuVar23 = local_90 + -0x672ad" identifier = (binary_expression "local_90 + -0x672ad" identifier + number_literal)) ;) (do_statement "do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);" do (compound_statement "{\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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 )) ;) (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                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar7 = 5;" (assignment_expression "iVar7 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19caa2);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19caa2)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19caa2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19caa2)" ( (binary_expression "(int)local_90 + -0x19caa2" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" { (expression_statement "iVar7 = 5;" (assignment_expression "iVar7 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "ppuVar23 = local_90 + -0x672a7;" (assignment_expression "ppuVar23 = local_90 + -0x672a7" identifier = (binary_expression "local_90 + -0x672a7" identifier + number_literal)) ;) (do_statement "do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);" do (compound_statement "{\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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 )) ;) (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                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" { (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19ca96);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19ca96)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19ca96)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19ca96)" ( (binary_expression "(int)local_90 + -0x19ca96" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);" do (compound_statement "{\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" { (expression_statement "iVar7 = 10;" (assignment_expression "iVar7 = 10" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19a212);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19a212)" ( (binary_expression "(int)local_90 + -0x19a212" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);" do (compound_statement "{\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *pbVar22;" (assignment_expression "bVar26 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }" { (expression_statement "iVar7 = 0x12;" (assignment_expression "iVar7 = 0x12" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19ca91);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19ca91)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19ca91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19ca91)" ( (binary_expression "(int)local_90 + -0x19ca91" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);" do (compound_statement "{\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 )) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;" 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) )) (goto_statement "goto LAB_0008c67e;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0008c74a;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;" statement_identifier : (expression_statement "*(undefined1 ***)(puVar19 + -8) = local_34;" (assignment_expression "*(undefined1 ***)(puVar19 + -8) = local_34" (pointer_expression "*(undefined1 ***)(puVar19 + -8)" * (cast_expression "(undefined1 ***)(puVar19 + -8)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(byte ***)(puVar19 + -0xc) = local_4c;" (assignment_expression "*(byte ***)(puVar19 + -0xc) = local_4c" (pointer_expression "*(byte ***)(puVar19 + -0xc)" * (cast_expression "(byte ***)(puVar19 + -0xc)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar19 + -0x10) = local_b4;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_b4" (pointer_expression "*(uint *)(puVar19 + -0x10)" * (cast_expression "(uint *)(puVar19 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar19 + -0x14) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0x14) = local_b0" (pointer_expression "*(int **)(puVar19 + -0x14)" * (cast_expression "(int **)(puVar19 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c510;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c510" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar28 = FUN_00291fb0();" (assignment_expression "uVar28 = FUN_00291fb0()" identifier = (call_expression "FUN_00291fb0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }" if (parenthesized_expression "((char)local_34[0] != '\0')" ( (binary_expression "(char)local_34[0] != '\0'" (cast_expression "(char)local_34[0]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_34[0]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }" { (expression_statement "local_54 = local_a4[3] + (uint)uVar28;" (assignment_expression "local_54 = local_a4[3] + (uint)uVar28" identifier = (binary_expression "local_a4[3] + (uint)uVar28" (subscript_expression "local_a4[3]" identifier [ number_literal ]) + (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20)" identifier = (binary_expression "local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20)" (binary_expression "local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3])" (subscript_expression "local_a4[4]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4((uint)uVar28,(uint)local_a4[3])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)uVar28,(uint)local_a4[3])" identifier (argument_list "((uint)uVar28,(uint)local_a4[3])" ( (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_a4[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a4[3]" identifier [ number_literal ])) ))))) + (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) })) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) (expression_statement "puVar19 = puVar19 + -4;" (assignment_expression "puVar19 = puVar19 + -4" identifier = (binary_expression "puVar19 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" else (compound_statement "{\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" { (if_statement "if (local_a8 == 1) goto LAB_0008c4f4;" if (parenthesized_expression "(local_a8 == 1)" ( (binary_expression "local_a8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0008c4f4;" goto statement_identifier ;)) (if_statement "if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" if (parenthesized_expression "(local_a8 == 3)" ( (binary_expression "local_a8 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }" { (labeled_statement "LAB_0008c67e:\n              uVar8 = param_2[2];" statement_identifier : (expression_statement "uVar8 = param_2[2];" (assignment_expression "uVar8 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (if_statement "if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" if (parenthesized_expression "(local_94 == (undefined **)0x0)" ( (binary_expression "local_94 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }" { (expression_statement "*(uint *)(puVar19 + -0x10) = local_ac;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_ac" (pointer_expression "*(uint *)(puVar19 + -0x10)" * (cast_expression "(uint *)(puVar19 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c7c5" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_002990a0();" (assignment_expression "uVar9 = FUN_002990a0()" identifier = (call_expression "FUN_002990a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;" (assignment_expression "*(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa" (pointer_expression "*(undefined ***)(puVar19 + -0x14)" * (cast_expression "(undefined ***)(puVar19 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671fa" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c7db;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c7db" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar19 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar19 + -0xc)" * (cast_expression "(uint *)(puVar19 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = uVar11;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = uVar11" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x18)" * (cast_expression "(int *)(puVar19 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x1c) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x1c) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x1c)" * (cast_expression "(uint *)(puVar19 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x20) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x20) = local_98" (pointer_expression "*(int *)(puVar19 + -0x20)" * (cast_expression "(int *)(puVar19 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x24) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x24) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x24)" * (cast_expression "(undefined4 **)(puVar19 + -0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x28) = 0x8c803;" (assignment_expression "*(undefined4 *)(puVar19 + -0x28) = 0x8c803" (pointer_expression "*(undefined4 *)(puVar19 + -0x28)" * (cast_expression "(undefined4 *)(puVar19 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x28)" ( (binary_expression "puVar19 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -4;" (assignment_expression "puVar20 = puVar19 + -4" identifier = (binary_expression "puVar19 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" { (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar19 + -0x14) = local_34;" (assignment_expression "*(undefined1 ***)(puVar19 + -0x14) = local_34" (pointer_expression "*(undefined1 ***)(puVar19 + -0x14)" * (cast_expression "(undefined1 ***)(puVar19 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c6aa" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar4 = local_34[0];" (assignment_expression "puVar4 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;" (assignment_expression "*(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4" (pointer_expression "*(undefined ***)(puVar19 + -0x18)" * (cast_expression "(undefined ***)(puVar19 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;" (assignment_expression "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf" (pointer_expression "*(undefined4 *)(puVar19 + -0x1c)" * (cast_expression "(undefined4 *)(puVar19 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)(puVar19 + -0x14) = puVar4;" (assignment_expression "*(undefined1 **)(puVar19 + -0x14) = puVar4" (pointer_expression "*(undefined1 **)(puVar19 + -0x14)" * (cast_expression "(undefined1 **)(puVar19 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x1c)" * (cast_expression "(int *)(puVar19 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x20) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x20) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x20)" * (cast_expression "(uint *)(puVar19 + -0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x24) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x24) = local_98" (pointer_expression "*(int *)(puVar19 + -0x24)" * (cast_expression "(int *)(puVar19 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x28) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x28) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x28)" * (cast_expression "(undefined4 **)(puVar19 + -0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x28)" ( (binary_expression "puVar19 + -0x28" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2" (pointer_expression "*(undefined4 *)(puVar19 + -0x2c)" * (cast_expression "(undefined4 *)(puVar19 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x2c)" ( (binary_expression "puVar19 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -8;" (assignment_expression "puVar20 = puVar19 + -8" identifier = (binary_expression "puVar19 + -8" identifier + number_literal)) ;) (if_statement "if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }" { (expression_statement "*(undefined1 **)(puVar19 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)(puVar19 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)(puVar19 + -0x18)" * (cast_expression "(undefined1 **)(puVar19 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8" (pointer_expression "*(undefined4 *)(puVar19 + -0x1c)" * (cast_expression "(undefined4 *)(puVar19 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -8;" (assignment_expression "puVar20 = puVar19 + -8" identifier = (binary_expression "puVar19 + -8" identifier + number_literal)) ;) })) }))) (expression_statement "*(undefined1 **)(puVar20 + -4) = &local_81;" (assignment_expression "*(undefined1 **)(puVar20 + -4) = &local_81" (pointer_expression "*(undefined1 **)(puVar20 + -4)" * (cast_expression "(undefined1 **)(puVar20 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (pointer_expression "&local_81" & identifier)) ;) (expression_statement "*(undefined1 **)(puVar20 + -8) = local_7c;" (assignment_expression "*(undefined1 **)(puVar20 + -8) = local_7c" (pointer_expression "*(undefined1 **)(puVar20 + -8)" * (cast_expression "(undefined1 **)(puVar20 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar20 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar20 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar20 + -0xc)" * (cast_expression "(uint *)(puVar20 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c715;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c715" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_002986d0();" (assignment_expression "iVar7 = FUN_002986d0()" identifier = (call_expression "FUN_002986d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }" { (expression_statement "*(int **)(puVar20 + -8) = &local_80;" (assignment_expression "*(int **)(puVar20 + -8) = &local_80" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar7" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c824;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c824" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_00292240();" (assignment_expression "iVar7 = FUN_00292240()" identifier = (call_expression "FUN_00292240()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(local_80 != 0)" ( (binary_expression "local_80 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }" { (expression_statement "*(int *)(puVar20 + -0xc) = local_80;" (assignment_expression "*(int *)(puVar20 + -0xc) = local_80" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8cce0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8cce0" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_002990a0();" (assignment_expression "uVar8 = FUN_002990a0()" identifier = (call_expression "FUN_002990a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;" (assignment_expression "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf" (pointer_expression "*(undefined ***)(puVar20 + -0x10)" * (cast_expression "(undefined ***)(puVar20 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671cf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8ccf6" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8cd05;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8cd05" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }" { (expression_statement "uVar8 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;" (assignment_expression "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7" (pointer_expression "*(undefined ***)(puVar20 + -0x10)" * (cast_expression "(undefined ***)(puVar20 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c856;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c856" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c85f;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c85f" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "local_a8 = 3;" (assignment_expression "local_a8 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" else (compound_statement "{\nLAB_0008c74a:\n              local_a8 = 2;\n            }" { (labeled_statement "LAB_0008c74a:\n              local_a8 = 2;" statement_identifier : (expression_statement "local_a8 = 2;" (assignment_expression "local_a8 = 2" identifier = number_literal) ;)) }))) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) }))) (if_statement "if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_60 != (undefined *)0x0)" ( (binary_expression "local_60 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65e18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;" (assignment_expression "*(undefined **)(puVar19 + -0x14) = &UNK_0008cd92" (pointer_expression "*(undefined **)(puVar19 + -0x14)" * (cast_expression "(undefined **)(puVar19 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008cd92" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_60 = (undefined *)0xffffffff;" (assignment_expression "local_60 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }" { (expression_statement "*(byte **)(puVar19 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)(puVar19 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)(puVar19 + -0x10)" * (cast_expression "(byte **)(puVar19 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c568;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c568" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a4 = &local_60;" (assignment_expression "local_a4 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (if_statement "if (-1 < (int)local_a0) goto LAB_0008c029;" if (parenthesized_expression "(-1 < (int)local_a0)" ( (binary_expression "-1 < (int)local_a0" number_literal < (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0008c029;" goto statement_identifier ;)) (labeled_statement "LAB_0008c588:\n          iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" else (compound_statement "{\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" { (if_statement "if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" if (parenthesized_expression "((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))" ( (binary_expression "(param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0)" (parenthesized_expression "(param_12 == (int *)0x0)" ( (binary_expression "param_12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0)" ( (comma_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0" (assignment_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_12 + local_98 * 4)" * (cast_expression "(undefined ***)(*param_12 + local_98 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_12 + local_98 * 4)" ( (binary_expression "*param_12 + local_98 * 4" (pointer_expression "*param_12" * identifier) + (binary_expression "local_98 * 4" identifier * number_literal)) ))))) , (binary_expression "local_94 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }" { (if_statement "if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(local_ac < (uint)local_b0[0x2c])" ( (binary_expression "local_ac < (uint)local_b0[0x2c]" identifier < (cast_expression "(uint)local_b0[0x2c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_b0[0x2c]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }" { (labeled_statement "LAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;" statement_identifier : (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e11" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65e11" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdb9" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar13 = local_ac - local_b0[0x2c];" (assignment_expression "uVar13 = local_ac - local_b0[0x2c]" identifier = (binary_expression "local_ac - local_b0[0x2c]" identifier - (subscript_expression "local_b0[0x2c]" identifier [ number_literal ]))) ;) (expression_statement "local_94 = (undefined **)local_b0[0x30];" (assignment_expression "local_94 = (undefined **)local_b0[0x30]" identifier = (cast_expression "(undefined **)local_b0[0x30]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b0[0x30]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13)" ( (binary_expression "(uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13" (call_expression "(uint)((int)local_94 - local_b0[0x2f] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_94 - local_b0[0x2f] >> 2)" ( (binary_expression "(int)local_94 - local_b0[0x2f] >> 2" (binary_expression "(int)local_94 - local_b0[0x2f]" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_b0[0x2f]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65dcc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdfb" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);" (assignment_expression "local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4)" identifier = (pointer_expression "*(undefined ***)(local_b0[0x2f] + uVar13 * 4)" * (cast_expression "(undefined ***)(local_b0[0x2f] + uVar13 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_b0[0x2f] + uVar13 * 4)" ( (binary_expression "local_b0[0x2f] + uVar13 * 4" (subscript_expression "local_b0[0x2f]" identifier [ number_literal ]) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_94 == (undefined **)0x0) goto LAB_0008cd98;" if (parenthesized_expression "(local_94 == (undefined **)0x0)" ( (binary_expression "local_94 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0008cd98;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)local_94 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf67;" goto statement_identifier ;)) (expression_statement "*(undefined ***)(puVar19 + -0xc) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0xc) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0xc)" * (cast_expression "(undefined ***)(puVar19 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c2bd" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_94 = (undefined **)FUN_0034cd90();" (assignment_expression "local_94 = (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 "()" ( ))))) ;) (expression_statement "puVar10 = local_94[4];" (assignment_expression "puVar10 = local_94[4]" identifier = (subscript_expression "local_94[4]" identifier [ number_literal ])) ;) (expression_statement "puVar17 = puVar10 + -1;" (assignment_expression "puVar17 = puVar10 + -1" identifier = (binary_expression "puVar10 + -1" identifier + number_literal)) ;) (if_statement "if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }" if (parenthesized_expression "((undefined *)0xfffffffd < puVar17)" ( (binary_expression "(undefined *)0xfffffffd < puVar17" (cast_expression "(undefined *)0xfffffffd" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }" { (if_statement "if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(local_74 != (undefined *)0x0)" ( (binary_expression "local_74 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65e18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;" (assignment_expression "*(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd" (pointer_expression "*(undefined **)(puVar19 + -0x14)" * (cast_expression "(undefined **)(puVar19 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008c2fd" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0008bf7c;" goto statement_identifier ;) })) (if_statement "if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe))" ( (binary_expression "(local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)" (parenthesized_expression "(local_74 != (undefined *)0x0)" ( (binary_expression "local_74 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_74 != (undefined *)0xfffffffe)" ( (binary_expression "local_74 != (undefined *)0xfffffffe" identifier != (cast_expression "(undefined *)0xfffffffe" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65d5b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce1c" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" statement_identifier : (if_statement "if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(puVar17 == (undefined *)0xfffffffd)" ( (binary_expression "puVar17 == (undefined *)0xfffffffd" identifier == (cast_expression "(undefined *)0xfffffffd" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65d5b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce3d" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) }) (else_clause "else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" else (compound_statement "{\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" { (labeled_statement "LAB_0008bf67:\n            puVar10 = local_94[4];" statement_identifier : (expression_statement "puVar10 = local_94[4];" (assignment_expression "puVar10 = local_94[4]" identifier = (subscript_expression "local_94[4]" identifier [ number_literal ])) ;)) (expression_statement "puVar17 = puVar10 + -1;" (assignment_expression "puVar17 = puVar10 + -1" identifier = (binary_expression "puVar10 + -1" identifier + number_literal)) ;) (if_statement "if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;" if (parenthesized_expression "(puVar17 < (undefined *)0xfffffffe)" ( (binary_expression "puVar17 < (undefined *)0xfffffffe" identifier < (cast_expression "(undefined *)0xfffffffe" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0008c350;" goto statement_identifier ;)) (labeled_statement "LAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;" statement_identifier : (expression_statement "local_74 = (undefined *)0xffffffff;" (assignment_expression "local_74 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puVar10 = local_74;" (assignment_expression "puVar10 = local_74" identifier = identifier) ;) }))) (expression_statement "local_74 = puVar10;" (assignment_expression "local_74 = puVar10" identifier = identifier) ;) (expression_statement "local_68 = local_94[0xc];" (assignment_expression "local_68 = local_94[0xc]" identifier = (subscript_expression "local_94[0xc]" identifier [ number_literal ])) ;) (expression_statement "local_64 = local_94[0xd];" (assignment_expression "local_64 = local_94[0xd]" identifier = (subscript_expression "local_94[0xd]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(local_94 + 10) & 0xf) == 6)" ( (binary_expression "(*(byte *)(local_94 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(local_94 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_94 + 10) & 0xf" (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_6c = local_6c | 0x20000000;\n          }" { (expression_statement "local_6c = local_6c | 0x20000000;" (assignment_expression "local_6c = local_6c | 0x20000000" identifier = (binary_expression "local_6c | 0x20000000" identifier | number_literal)) ;) }) (else_clause "else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" else (if_statement "if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(local_94 + 10) & 0xf) == 10)" ( (binary_expression "(*(byte *)(local_94 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(local_94 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_94 + 10) & 0xf" (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_6c = local_6c | 0x40000000;\n          }" { (expression_statement "local_6c = local_6c | 0x40000000;" (assignment_expression "local_6c = local_6c | 0x40000000" identifier = (binary_expression "local_6c | 0x40000000" identifier | number_literal)) ;) })))) (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }" if (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }" { (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }" { (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }" if (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }" { (labeled_statement "LAB_0008cc18:\n                local_b4 = 0;" statement_identifier : (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;)) (expression_statement "local_a4 = &local_74;" (assignment_expression "local_a4 = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;) (goto_statement "goto LAB_0008c478;" goto statement_identifier ;) })) }) (else_clause "else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" else (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 7) == 4)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 7) == 4" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008cc18;" goto statement_identifier ;)))) })) (expression_statement "local_a4 = &local_74;" (assignment_expression "local_a4 = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;) (labeled_statement "LAB_0008bfef:\n          local_9c = &local_74;" statement_identifier : (expression_statement "local_9c = &local_74;" (assignment_expression "local_9c = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;)) (expression_statement "local_60 = (undefined *)0x0;" (assignment_expression "local_60 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = 0xffffffff;" (assignment_expression "local_5c = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)local_a0 < 0) goto LAB_0008c588;" if (parenthesized_expression "((int)local_a0 < 0)" ( (binary_expression "(int)local_a0 < 0" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0008c588;" goto statement_identifier ;)) (labeled_statement "LAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;" statement_identifier : (if_statement "if (param_11 <= local_a0) goto LAB_0008c588;" if (parenthesized_expression "(param_11 <= local_a0)" ( (binary_expression "param_11 <= local_a0" identifier <= identifier) )) (goto_statement "goto LAB_0008c588;" goto statement_identifier ;))) (expression_statement "iVar7 = local_a0 + param_8;" (assignment_expression "iVar7 = local_a0 + param_8" identifier = (binary_expression "local_a0 + param_8" identifier + identifier)) ;) }))) (expression_statement "local_b8 = &local_60;" (assignment_expression "local_b8 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (expression_statement "*(uint *)(puVar19 + -4) = param_11;" (assignment_expression "*(uint *)(puVar19 + -4) = param_11" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));" (assignment_expression "unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" identifier = (cast_expression "(undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" ( (binary_expression "((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4)" (binary_expression "((int)local_a0 >> 0x1f) + local_c0" (parenthesized_expression "((int)local_a0 >> 0x1f)" ( (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (cast_expression "(uint)CARRY4(local_a0,local_c4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_a0,local_c4)" identifier (argument_list "(local_a0,local_c4)" ( identifier , identifier ))))) )))) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -8) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar19 + -0xc) = local_a0 + local_c4;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_a0 + local_c4" (pointer_expression "*(uint *)(puVar19 + -0xc)" * (cast_expression "(uint *)(puVar19 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = (binary_expression "local_a0 + local_c4" identifier + identifier)) ;) (expression_statement "*(int *)(puVar19 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar19 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x14) = local_a4;" (assignment_expression "*(undefined ***)(puVar19 + -0x14) = local_a4" (pointer_expression "*(undefined ***)(puVar19 + -0x14)" * (cast_expression "(undefined ***)(puVar19 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x18) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x18) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x18)" * (cast_expression "(undefined ***)(puVar19 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)(puVar19 + -0x1c) = param_4;" (assignment_expression "*(uint **)(puVar19 + -0x1c) = param_4" (pointer_expression "*(uint **)(puVar19 + -0x1c)" * (cast_expression "(uint **)(puVar19 + -0x1c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x20) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x20) = local_98" (pointer_expression "*(int *)(puVar19 + -0x20)" * (cast_expression "(int *)(puVar19 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c077;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c077" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = FUN_00089330();" (assignment_expression "cVar5 = FUN_00089330()" identifier = (call_expression "FUN_00089330()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (if_statement "if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }" { (if_statement "if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }" { (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca7f" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c787;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c787" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_EDI = *(undefined ***)(puVar19 + -0x10);" (assignment_expression "unaff_EDI = *(undefined ***)(puVar19 + -0x10)" identifier = (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar19 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0xc)" * (cast_expression "(uint *)(puVar19 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x14)" * (cast_expression "(int *)(puVar19 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x18) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x18) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x18)" * (cast_expression "(uint *)(puVar19 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x1c) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x1c) = local_98" (pointer_expression "*(int *)(puVar19 + -0x1c)" * (cast_expression "(int *)(puVar19 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x20)" * (cast_expression "(undefined4 **)(puVar19 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c7a6" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" else (compound_statement "{\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" { (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }" if (parenthesized_expression "(local_94 != (undefined **)0x0)" ( (binary_expression "local_94 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }" { (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a);" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar6 = bVar16 & 7;" (assignment_expression "bVar6 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }" { (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" if (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" { (labeled_statement "LAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));" statement_identifier : (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" identifier (argument_list "(local_a4._1_3_,*(byte *)(local_94 + 10))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) ))))) ;)) (expression_statement "bVar12 = *(byte *)(local_94 + 10) >> 4;" (assignment_expression "bVar12 = *(byte *)(local_94 + 10) >> 4" identifier = (binary_expression "*(byte *)(local_94 + 10) >> 4" (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "piVar14 = (int *)(uint)bVar12;" (assignment_expression "piVar14 = (int *)(uint)bVar12" identifier = (cast_expression "(int *)(uint)bVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (if_statement "if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" if (parenthesized_expression "(bVar12 != 2)" ( (binary_expression "bVar12 != 2" identifier != number_literal) )) (compound_statement "{\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" { (if_statement "if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }" if (parenthesized_expression "(((uint)local_94[0xb] & 2) != 0)" ( (binary_expression "((uint)local_94[0xb] & 2) != 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" ( (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }" { (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (goto_statement "goto LAB_0008cad3;" goto statement_identifier ;) })) (expression_statement "ppuVar18 = local_90 + 0x1f2;" (assignment_expression "ppuVar18 = local_90 + 0x1f2" identifier = (binary_expression "local_90 + 0x1f2" identifier + number_literal)) ;) (expression_statement "piVar14 = *(int **)(*ppuVar18 + 8);" (assignment_expression "piVar14 = *(int **)(*ppuVar18 + 8)" identifier = (pointer_expression "*(int **)(*ppuVar18 + 8)" * (cast_expression "(int **)(*ppuVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar18 + 8)" ( (binary_expression "*ppuVar18 + 8" (pointer_expression "*ppuVar18" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar19 + -4) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -4) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -4)" * (cast_expression "(undefined ***)(puVar19 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cecf;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cecf" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x49b1) == '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x49b1) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x49b1)" * (cast_expression "(char *)((int)piVar14 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x49b1)" ( (binary_expression "(int)piVar14 + 0x49b1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" { (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" if (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" { (if_statement "if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" { (expression_statement "ppuVar18 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar18 = local_90 + -0x15e4b4" identifier = (binary_expression "local_90 + -0x15e4b4" identifier + number_literal)) ;) (goto_statement "goto LAB_0008ca90;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008cb38;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008c8f9;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;) })) (expression_statement "piVar14 = (int *)local_94[2];" (assignment_expression "piVar14 = (int *)local_94[2]" identifier = (cast_expression "(int *)local_94[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_94[2]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar18 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar18 = local_90 + -0x15e4b4" identifier = (binary_expression "local_90 + -0x15e4b4" identifier + number_literal)) ;) (expression_statement "ppuVar3 = *(undefined ***)(*piVar14 + 0x14);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar14 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*piVar14 + 0x14)" * (cast_expression "(undefined ***)(*piVar14 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" if (parenthesized_expression "(ppuVar3 == ppuVar18)" ( (binary_expression "ppuVar3 == ppuVar18" identifier == identifier) )) (compound_statement "{\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }" { (labeled_statement "LAB_0008c0da:\n                  bVar16 = bVar16 & 7;" statement_identifier : (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;)) (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x29);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x29)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar6 = bVar12 & 3;" (assignment_expression "bVar6 = bVar12 & 3" identifier = (binary_expression "bVar12 & 3" identifier & number_literal)) ;) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if ((bVar12 & 3) == 0) goto LAB_0008c180;" if (parenthesized_expression "((bVar12 & 3) == 0)" ( (binary_expression "(bVar12 & 3) == 0" (parenthesized_expression "(bVar12 & 3)" ( (binary_expression "bVar12 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) }) (else_clause "else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" else (compound_statement "{\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" { (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" * (cast_expression "(int **)(puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c8b6" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = (*(code *)ppuVar3)();" (assignment_expression "iVar7 = (*(code *)ppuVar3)()" identifier = (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = extraout_ECX;" (assignment_expression "piVar14 = extraout_ECX" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }" { (labeled_statement "LAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" statement_identifier : (expression_statement "local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;)) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) }) (else_clause "else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" else (compound_statement "{\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" { (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a);" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar6 = bVar16 & 7;" (assignment_expression "bVar6 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }" { (if_statement "if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" if (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }" { (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x2b);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;" if (parenthesized_expression "((bVar12 & 0x20) != 0)" ( (binary_expression "(bVar12 & 0x20) != 0" (parenthesized_expression "(bVar12 & 0x20)" ( (binary_expression "bVar12 & 0x20" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) }) (else_clause "else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" else (compound_statement "{\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" { (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x2b);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (if_statement "if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" if (parenthesized_expression "((char)bVar12 < '\0')" ( (binary_expression "(char)bVar12 < '\0'" (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" { (labeled_statement "LAB_0008ca90:\n                        ppuVar23 = local_94;" statement_identifier : (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;)) (expression_statement "piVar14 = (int *)local_94[2];" (assignment_expression "piVar14 = (int *)local_94[2]" identifier = (cast_expression "(int *)local_94[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_94[2]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar3 = *(undefined ***)(*piVar14 + 0x14);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar14 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*piVar14 + 0x14)" * (cast_expression "(undefined ***)(*piVar14 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 == ppuVar18) goto LAB_0008c0da;" if (parenthesized_expression "(ppuVar3 == ppuVar18)" ( (binary_expression "ppuVar3 == ppuVar18" identifier == identifier) )) (goto_statement "goto LAB_0008c0da;" goto statement_identifier ;)) (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" * (cast_expression "(int **)(puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8caac;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8caac" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = (*(code *)ppuVar3)();" (assignment_expression "iVar7 = (*(code *)ppuVar3)()" identifier = (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = extraout_ECX_01;" (assignment_expression "piVar14 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "ppuVar18 = local_d0;" (assignment_expression "ppuVar18 = local_d0" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_0008c8f9;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008c8f9;" goto statement_identifier ;)) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;) })) }) (else_clause "else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" else (compound_statement "{\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" { (if_statement "if (bVar6 == 4) goto LAB_0008cbc8;" if (parenthesized_expression "(bVar6 == 4)" ( (binary_expression "bVar6 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;" if (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008cb38;" goto statement_identifier ;)) }))) (expression_statement "ppuVar18 = local_90 + 0x1f2;" (assignment_expression "ppuVar18 = local_90 + 0x1f2" identifier = (binary_expression "local_90 + 0x1f2" identifier + number_literal)) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (labeled_statement "LAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);" statement_identifier : (expression_statement "piVar14 = *(int **)(*ppuVar18 + 0xc);" (assignment_expression "piVar14 = *(int **)(*ppuVar18 + 0xc)" identifier = (pointer_expression "*(int **)(*ppuVar18 + 0xc)" * (cast_expression "(int **)(*ppuVar18 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar18 + 0xc)" ( (binary_expression "*ppuVar18 + 0xc" (pointer_expression "*ppuVar18" * identifier) + number_literal) ))))) ;)) (if_statement "if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65bc7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce5b" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar7 = *piVar14;" (assignment_expression "iVar7 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined ***)(puVar19 + -0xc) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0xc) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0xc)" * (cast_expression "(undefined ***)(puVar19 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" * (cast_expression "(int **)(puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar2 = *(code **)(iVar7 + 0x1c);" (assignment_expression "pcVar2 = *(code **)(iVar7 + 0x1c)" identifier = (pointer_expression "*(code **)(iVar7 + 0x1c)" * (cast_expression "(code **)(iVar7 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c915;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c915" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = (*pcVar2)();" (assignment_expression "cVar5 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = extraout_ECX_00;" (assignment_expression "piVar14 = extraout_ECX_00" identifier = identifier) ;) (if_statement "if (cVar5 != '\0') goto LAB_0008cac0;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(*ppuVar18 + 8);" (assignment_expression "iVar7 = *(int *)(*ppuVar18 + 8)" identifier = (pointer_expression "*(int *)(*ppuVar18 + 8)" * (cast_expression "(int *)(*ppuVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar18 + 8)" ( (binary_expression "*ppuVar18 + 8" (pointer_expression "*ppuVar18" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce79;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce79" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pbVar21 = *(byte **)(iVar7 + 0x42e4);" (assignment_expression "pbVar21 = *(byte **)(iVar7 + 0x42e4)" identifier = (pointer_expression "*(byte **)(iVar7 + 0x42e4)" * (cast_expression "(byte **)(iVar7 + 0x42e4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x42e4)" ( (binary_expression "iVar7 + 0x42e4" identifier + number_literal) ))))) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar26 = pbVar21 == (byte *)0x0" identifier = (binary_expression "pbVar21 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }" { (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" statement_identifier : (if_statement "if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" if (parenthesized_expression "(((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0'))" ( (binary_expression "((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')" (parenthesized_expression "((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0'))" ( (binary_expression "(bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')" (parenthesized_expression "(bVar6 == 2)" ( (binary_expression "bVar6 == 2" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" * (cast_expression "(char *)(iVar7 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a25)" ( (binary_expression "iVar7 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(*(char *)(iVar7 + 0x4eb5) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0x4eb5) != '\0'" (pointer_expression "*(char *)(iVar7 + 0x4eb5)" * (cast_expression "(char *)(iVar7 + 0x4eb5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x4eb5)" ( (binary_expression "iVar7 + 0x4eb5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" { (labeled_statement "LAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;" statement_identifier : (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;)) (expression_statement "*(uint *)(puVar19 + -0x14) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x14) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x14)" * (cast_expression "(uint *)(puVar19 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x18) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x18) = local_98" (pointer_expression "*(int *)(puVar19 + -0x18)" * (cast_expression "(int *)(puVar19 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x1c) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x1c) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x1c)" * (cast_expression "(undefined4 **)(puVar19 + -0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x20) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x20) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x20)" * (cast_expression "(undefined ***)(puVar19 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8ca1a" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023c790();" (call_expression "FUN_0023c790()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" identifier = identifier) ;) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;) }))) }) (else_clause "else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" else (compound_statement "{\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" { (expression_statement "piVar14 = (int *)0xb;" (assignment_expression "piVar14 = (int *)0xb" identifier = (cast_expression "(int *)0xb" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6)" identifier = (cast_expression "(undefined **)((int)local_90 + -0x1a1fa6)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + -0x1a1fa6)" ( (binary_expression "(int)local_90 + -0x1a1fa6" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);" do (compound_statement "{\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      }" { (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) break;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "piVar14 = (int *)((int)piVar14 + -1);" (assignment_expression "piVar14 = (int *)((int)piVar14 + -1)" identifier = (cast_expression "(int *)((int)piVar14 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + -1)" ( (binary_expression "(int)piVar14 + -1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" ( (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 "bVar24 = *pbVar22 < *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar22 < *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 < *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar22 == *(byte *)ppuVar18;" (assignment_expression "bVar26 = *pbVar22 == *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 == *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (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)) ;) (expression_statement "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" identifier = identifier) ;) }) 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) goto LAB_0008cac0;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;)) (expression_statement "iVar15 = 0xb;" (assignment_expression "iVar15 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b)" identifier = (cast_expression "(undefined **)((int)local_90 + -0x1a1f9b)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + -0x1a1f9b)" ( (binary_expression "(int)local_90 + -0x1a1f9b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);" do (compound_statement "{\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      }" { (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" identifier = identifier) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" ( (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 = *pbVar22 < *(byte *)ppuVar18;" (assignment_expression "bVar25 = *pbVar22 < *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 < *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar22 == *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar22 == *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 == *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (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)) ;) (expression_statement "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" identifier = identifier) ;) }) 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) goto LAB_0008c9f4;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_0008c9f4;" goto statement_identifier ;)) (expression_statement "iVar15 = 0x17;" (assignment_expression "iVar15 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar23 = local_90 + -0x687e4;" (assignment_expression "ppuVar23 = local_90 + -0x687e4" identifier = (binary_expression "local_90 + -0x687e4" identifier + number_literal)) ;) (do_statement "do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);" do (compound_statement "{\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar22 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar22 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar22 < *(byte *)ppuVar23" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar22 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar22 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar22 == *(byte *)ppuVar23" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (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)) ;) (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 )) ;) (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "cVar5 = (!bVar26 && !bVar24) - bVar26;" (assignment_expression "cVar5 = (!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)) ;) (expression_statement "piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);" (assignment_expression "piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" identifier = (cast_expression "(int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" identifier (argument_list "((int3)((uint)iVar15 >> 8),cVar5)" ( (call_expression "(int3)((uint)iVar15 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)iVar15 >> 8)" ( (binary_expression "(uint)iVar15 >> 8" (cast_expression "(uint)iVar15" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) , identifier ))))) ;) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "bVar24 = cVar5 == '\0';" (assignment_expression "bVar24 = cVar5 == '\0'" identifier = (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }" if (parenthesized_expression "((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24))" ( (binary_expression "(!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)" (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) || (parenthesized_expression "(bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)" ( (comma_expression "bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24" (assignment_expression "bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0" identifier = (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 1) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 1)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 1" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) , (comma_expression "ppuVar23 = local_94,\n                         !bVar24" (assignment_expression "ppuVar23 = local_94" identifier = identifier) , (unary_expression "!bVar24" ! identifier))) ))) )) (compound_statement "{\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }" { (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "piVar14 = (int *)0x16;" (assignment_expression "piVar14 = (int *)0x16" identifier = (cast_expression "(int *)0x16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79)" identifier = (cast_expression "(undefined **)((int)local_90 + -0x1a1f79)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + -0x1a1f79)" ( (binary_expression "(int)local_90 + -0x1a1f79" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);" do (compound_statement "{\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        }" { (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) break;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "piVar14 = (int *)((int)piVar14 + -1);" (assignment_expression "piVar14 = (int *)((int)piVar14 + -1)" identifier = (cast_expression "(int *)((int)piVar14 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + -1)" ( (binary_expression "(int)piVar14 + -1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" ( (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 "bVar26 = *pbVar21 < *(byte *)ppuVar18;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar18" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar18" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar18" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar18" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;" if (parenthesized_expression "(((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0'))" ( (binary_expression "((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')" (parenthesized_expression "((!bVar26 && !bVar24) != bVar26)" ( (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) || (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2a) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2a) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0008c9da;" goto statement_identifier ;)) })) }))) }))) (labeled_statement "LAB_0008cad3:\n                  unaff_EDI = ppuVar23;" statement_identifier : (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" identifier = identifier) ;)) (if_statement "if (bVar6 == 0) goto LAB_0008c180;" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a) & 7" identifier = (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar16 != 0) goto LAB_0008cb54;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008cb54;" goto statement_identifier ;)) }))) (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" if (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }" { (expression_statement "bVar12 = *(byte *)(local_94 + 10);" (assignment_expression "bVar12 = *(byte *)(local_94 + 10)" identifier = (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "piVar14 = (int *)(uint)(bVar12 >> 4);" (assignment_expression "piVar14 = (int *)(uint)(bVar12 >> 4)" identifier = (cast_expression "(int *)(uint)(bVar12 >> 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(bVar12 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar12 >> 4)" ( (binary_expression "bVar12 >> 4" identifier >> number_literal) ))))) ;) (if_statement "if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;" if (parenthesized_expression "((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0))" ( (binary_expression "(bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)" (parenthesized_expression "(bVar12 >> 4 == 2)" ( (binary_expression "bVar12 >> 4 == 2" (binary_expression "bVar12 >> 4" identifier >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)local_94[0xb] & 2) != 0)" ( (binary_expression "((uint)local_94[0xb] & 2) != 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" ( (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0008c10d;" goto statement_identifier ;)) (labeled_statement "LAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);" statement_identifier : (expression_statement "piVar14 = *(int **)(*local_cc + 8);" (assignment_expression "piVar14 = *(int **)(*local_cc + 8)" identifier = (pointer_expression "*(int **)(*local_cc + 8)" * (cast_expression "(int **)(*local_cc + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_cc + 8)" ( (binary_expression "*local_cc + 8" (pointer_expression "*local_cc" * identifier) + number_literal) ))))) ;)) (if_statement "if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(uint *)(puVar19 + -4) = (uint)bVar12;" (assignment_expression "*(uint *)(puVar19 + -4) = (uint)bVar12" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;" (assignment_expression "*(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a" (pointer_expression "*(undefined1 **)(puVar19 + -0x14)" * (cast_expression "(undefined1 **)(puVar19 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_0008cf0a" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x49b1) != '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x49b1) != '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x49b1)" * (cast_expression "(char *)((int)piVar14 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x49b1)" ( (binary_expression "(int)piVar14 + 0x49b1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" { (expression_statement "unaff_EDI = local_cc;" (assignment_expression "unaff_EDI = local_cc" identifier = identifier) ;) (if_statement "if (bVar16 != 0) goto LAB_0008c180;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) (goto_statement "goto LAB_0008c10d;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" else (compound_statement "{\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" { (labeled_statement "LAB_0008c10d:\n                  unaff_EDI = local_94;" statement_identifier : (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;)) (if_statement "if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;" if (parenthesized_expression "((local_94[2][0x2c] & 1) == 0)" ( (binary_expression "(local_94[2][0x2c] & 1) == 0" (parenthesized_expression "(local_94[2][0x2c] & 1)" ( (binary_expression "local_94[2][0x2c] & 1" (subscript_expression "local_94[2][0x2c]" (subscript_expression "local_94[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) }))) (if_statement "if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" if (parenthesized_expression "(bVar6 == 2)" ( (binary_expression "bVar6 == 2" identifier == number_literal) )) (compound_statement "{\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }" { (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca5d" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cc6d" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" else (if_statement "if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" if (parenthesized_expression "(bVar6 < 3)" ( (binary_expression "bVar6 < 3" identifier < number_literal) )) (compound_statement "{\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }" { (if_statement "if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "(bVar6 != 1)" ( (binary_expression "bVar6 != 1" identifier != number_literal) )) (compound_statement "{\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(int **)(puVar19 + -4) = piVar14;" (assignment_expression "*(int **)(puVar19 + -4) = piVar14" (pointer_expression "*(int **)(puVar19 + -4)" * (cast_expression "(int **)(puVar19 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c80" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65c80" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0xa4;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0xa4" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce98;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce98" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca66" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c385;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c385" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" else (compound_statement "{\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" { (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca56" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c13f;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c13f" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }))))) (expression_statement "unaff_EDI = (undefined **)*local_94;" (assignment_expression "unaff_EDI = (undefined **)*local_94" identifier = (cast_expression "(undefined **)*local_94" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_94" * identifier))) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x67173" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c163;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c163" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -8) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c174;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c174" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" else (compound_statement "{\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" { (if_statement "if (bVar6 == 4) goto LAB_0008cbc8;" if (parenthesized_expression "(bVar6 == 4)" ( (binary_expression "bVar6 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) (labeled_statement "LAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);" statement_identifier : (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x29);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x29)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar6 = bVar12 & 3;" (assignment_expression "bVar6 = bVar12 & 3" identifier = (binary_expression "bVar12 & 3" identifier & number_literal)) ;) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }" if (parenthesized_expression "((bVar12 & 3) != 0)" ( (binary_expression "(bVar12 & 3) != 0" (parenthesized_expression "(bVar12 & 3)" ( (binary_expression "bVar12 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }" { (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (labeled_statement "LAB_0008cb54:\n                  unaff_EDI = ppuVar23;" statement_identifier : (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" identifier = identifier) ;)) (if_statement "if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }" if (parenthesized_expression "(bVar16 == 4)" ( (binary_expression "bVar16 == 4" identifier == number_literal) )) (compound_statement "{\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }" { (expression_statement "bVar12 = *(byte *)(local_94 + 10);" (assignment_expression "bVar12 = *(byte *)(local_94 + 10)" identifier = (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;" if (parenthesized_expression "((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))" ( (binary_expression "(bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0)" (parenthesized_expression "(bVar12 >> 4 != 2)" ( (binary_expression "bVar12 >> 4 != 2" (binary_expression "bVar12 >> 4" identifier >> number_literal) != number_literal) )) && (parenthesized_expression "(bVar16 = 4, ((uint)local_94[0xb] & 2) == 0)" ( (comma_expression "bVar16 = 4, ((uint)local_94[0xb] & 2) == 0" (assignment_expression "bVar16 = 4" identifier = number_literal) , (binary_expression "((uint)local_94[0xb] & 2) == 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" ( (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0008cb8b;" goto statement_identifier ;)) })) })) }))) (labeled_statement "LAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" statement_identifier : (if_statement "if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 4) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 4) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 4)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 4" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" { (expression_statement "*(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0xc)" * (cast_expression "(int *)(puVar19 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x10) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x10)" * (cast_expression "(uint *)(puVar19 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x14) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x14) = local_98" (pointer_expression "*(int *)(puVar19 + -0x14)" * (cast_expression "(int *)(puVar19 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppuVar23 = (undefined **)*param_2;" (assignment_expression "ppuVar23 = (undefined **)*param_2" identifier = (cast_expression "(undefined **)*param_2" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x18) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x18) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x18)" * (cast_expression "(undefined4 **)(puVar19 + -0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x1c) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x1c) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x1c)" * (cast_expression "(undefined ***)(puVar19 + -0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;" (assignment_expression "*(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40" (pointer_expression "*(undefined ***)(puVar19 + -0x20)" * (cast_expression "(undefined ***)(puVar19 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = (binary_expression "ppuVar23 + 0x40" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c337;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c337" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_94 = ppuVar23;" (assignment_expression "local_94 = ppuVar23" identifier = identifier) ;) (expression_statement "FUN_00350ac0();" (call_expression "FUN_00350ac0()" identifier (argument_list "()" ( ))) ;) }))) })) }))) })) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_b8;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_b8" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c19e;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c19e" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00094b30();" (call_expression "FUN_00094b30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c1aa" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00094b30();" (call_expression "FUN_00094b30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" else (compound_statement "{\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" { (expression_statement "*(uint *)(puVar19 + -4) = uVar13;" (assignment_expression "*(uint *)(puVar19 + -4) = uVar13" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar19 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar19 + -8)" * (cast_expression "(undefined4 *)(puVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = param_2[2];" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = param_2[2]" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = param_6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = param_6" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c888;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c888" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a0 = FUN_002cda80();" (assignment_expression "local_a0 = FUN_002cda80()" identifier = (call_expression "FUN_002cda80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_a0 != 0xffffffff) goto LAB_0008c1ed;" if (parenthesized_expression "(local_a0 != 0xffffffff)" ( (binary_expression "local_a0 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0008c1ed;" goto statement_identifier ;)) }))) (expression_statement "local_98 = local_98 + 1;" (assignment_expression "local_98 = local_98 + 1" identifier = (binary_expression "local_98 + 1" identifier + number_literal)) ;) (if_statement "if (param_5 == local_98) goto LAB_0008cc40;" if (parenthesized_expression "(param_5 == local_98)" ( (binary_expression "param_5 == local_98" identifier == identifier) )) (goto_statement "goto LAB_0008cc40;" goto statement_identifier ;)) (expression_statement "puVar1 = param_4 + 7;" (assignment_expression "puVar1 = param_4 + 7" identifier = (binary_expression "param_4 + 7" identifier + number_literal)) ;) (expression_statement "uVar13 = param_4[6];" (assignment_expression "uVar13 = param_4[6]" identifier = (subscript_expression "param_4[6]" identifier [ number_literal ])) ;) (expression_statement "param_4 = param_4 + 6;" (assignment_expression "param_4 = param_4 + 6" identifier = (binary_expression "param_4 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar1 == 0)" ( (binary_expression "*puVar1 == 0" (pointer_expression "*puVar1" * identifier) == number_literal) )) ;) })) (expression_statement "ppuVar23 = local_90;" (assignment_expression "ppuVar23 = local_90" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b70" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b70" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar23 + -0x672d3" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd71;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd71" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void relocate_section(Target_x86_64<64> * this,\n   Relocate_info<64,_false> * relinfo, uint sh_type, uchar * prelocs, size_t reloc_count,\n   Output_section * output_section, bool needs_special_offset_handling, uchar * view, Elf_Addr\n   address, section_size_type view_size, Reloc_symbol_changes * reloc_symbol_changes) */\n\nvoid __thiscall\nanon_unknown.dwarf_32e241::Target_x86_64<64>::relocate_section\n          (Target_x86_64<64> *this,Relocate_info<64,_false> *relinfo,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          uchar *view,Elf_Addr address,section_size_type view_size,\n          Reloc_symbol_changes *reloc_symbol_changes)\n\n{\n  int *piVar1;\n  _func_int_varargs **pp_Var2;\n  _func_int_varargs *p_Var3;\n  undefined **ppuVar4;\n  pointer ppSVar5;\n  pointer pSVar6;\n  pointer ppOVar7;\n  Sized_relobj_file<64,_false> *pSVar8;\n  pointer pcVar9;\n  code *pcVar10;\n  longlong lVar11;\n  size_type sVar12;\n  bool bVar13;\n  byte bVar14;\n  char cVar15;\n  uchar *puVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  Relobj *pRVar20;\n  int iVar21;\n  char *pcVar22;\n  byte bVar23;\n  uint uVar24;\n  Object *extraout_ECX;\n  Object *extraout_ECX_00;\n  Object *pOVar25;\n  Object *extraout_ECX_01;\n  byte bVar26;\n  Symbol_table *pSVar27;\n  undefined **ppuVar28;\n  undefined1 *puVar29;\n  undefined4 *puVar30;\n  undefined1 *puVar31;\n  _Alloc_hider _Var32;\n  byte *pbVar33;\n  byte *pbVar34;\n  Symbol_table *unaff_EDI;\n  Symbol_table *pSVar35;\n  bool bVar36;\n  bool bVar37;\n  byte bVar38;\n  Address AVar39;\n  size_t asStack_104 [6];\n  undefined1 auStack_dc [12];\n  Symbol_table *local_d0;\n  Symbol_table *local_cc;\n  uint local_c8;\n  Elf_Addr local_c4;\n  char local_b9;\n  Symbol_value<64> *local_b8;\n  uint local_b4;\n  Sized_relobj_file<64,_false> *local_b0;\n  uint local_ac;\n  int local_a8;\n  Symbol_value<64> *local_a4;\n  uint local_a0;\n  Symbol_value<64> *local_9c;\n  size_t local_98;\n  Symbol_table *local_94;\n  undefined **local_90;\n  Relocate relocate;\n  bool is_ordinary;\n  uint key_symndx;\n  Elf_Addr value;\n  Symbol_value<64> symval;\n  Symbol_value<64> symval2;\n  string name;\n  bool found;\n  undefined1 local_2c [28];\n  \n  bVar38 = 0;\n  local_90 = &_GLOBAL_OFFSET_TABLE_;\n  local_b9 = needs_special_offset_handling;\n  local_c4 = address;\n  if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  relocate.skip_call_tls_get_addr_ = false;\n  local_b0 = relinfo->object;\n  pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n  p_Var3 = pp_Var2[0x23];\n  if (p_Var3 == gold::Relobj::local_symbol_count) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pp_Var2[0x2f])(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*p_Var3)(local_b0);\n  }\n  puVar30 = (undefined4 *)auStack_dc;\n  if (reloc_count == 0) {\nLAB_0008cc40:\n    if (relocate.skip_call_tls_get_addr_ != false) {\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }\n    return;\n  }\n  uVar24 = *(uint *)prelocs;\n  puVar30 = (undefined4 *)auStack_dc;\n  if (*(int *)(prelocs + 4) == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_cc = (Symbol_table *)(local_90 + 0x1f2);\n    local_d0 = (Symbol_table *)(local_90 + 0x1f2);\n    puVar30 = (undefined4 *)auStack_dc;\n    do {\n      local_a0 = uVar24;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (reloc_count == local_98) goto LAB_0008cc40;\n      piVar1 = (int *)(prelocs + 0x1c);\n      uVar24 = *(uint *)(prelocs + 0x18);\n      prelocs = prelocs + 0x18;\n    } while (*piVar1 == 0);\n  }\n  ppuVar28 = local_90;\n  *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)((int)puVar30 + -0xc) = 0xc0;\n  *(undefined ***)((int)puVar30 + -0x10) = ppuVar28 + -0x672d3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd71;\n  gold::do_gold_unreachable\n            (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n             *(char **)((int)puVar30 + -8));\n}\n\n" comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_32e241::Target_x86_64<64>::relocate_section\n          (Target_x86_64<64> *this,Relocate_info<64,_false> *relinfo,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          uchar *view,Elf_Addr address,section_size_type view_size,\n          Reloc_symbol_changes *reloc_symbol_changes)\n\n{\n  int *piVar1;\n  _func_int_varargs **pp_Var2;\n  _func_int_varargs *p_Var3;\n  undefined **ppuVar4;\n  pointer ppSVar5;\n  pointer pSVar6;\n  pointer ppOVar7;\n  Sized_relobj_file<64,_false> *pSVar8;\n  pointer pcVar9;\n  code *pcVar10;\n  longlong lVar11;\n  size_type sVar12;\n  bool bVar13;\n  byte bVar14;\n  char cVar15;\n  uchar *puVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  Relobj *pRVar20;\n  int iVar21;\n  char *pcVar22;\n  byte bVar23;\n  uint uVar24;\n  Object *extraout_ECX;\n  Object *extraout_ECX_00;\n  Object *pOVar25;\n  Object *extraout_ECX_01;\n  byte bVar26;\n  Symbol_table *pSVar27;\n  undefined **ppuVar28;\n  undefined1 *puVar29;\n  undefined4 *puVar30;\n  undefined1 *puVar31;\n  _Alloc_hider _Var32;\n  byte *pbVar33;\n  byte *pbVar34;\n  Symbol_table *unaff_EDI;\n  Symbol_table *pSVar35;\n  bool bVar36;\n  bool bVar37;\n  byte bVar38;\n  Address AVar39;\n  size_t asStack_104 [6];\n  undefined1 auStack_dc [12];\n  Symbol_table *local_d0;\n  Symbol_table *local_cc;\n  uint local_c8;\n  Elf_Addr local_c4;\n  char local_b9;\n  Symbol_value<64> *local_b8;\n  uint local_b4;\n  Sized_relobj_file<64,_false> *local_b0;\n  uint local_ac;\n  int local_a8;\n  Symbol_value<64> *local_a4;\n  uint local_a0;\n  Symbol_value<64> *local_9c;\n  size_t local_98;\n  Symbol_table *local_94;\n  undefined **local_90;\n  Relocate relocate;\n  bool is_ordinary;\n  uint key_symndx;\n  Elf_Addr value;\n  Symbol_value<64> symval;\n  Symbol_value<64> symval2;\n  string name;\n  bool found;\n  undefined1 local_2c [28];\n  \n  bVar38 = 0;\n  local_90 = &_GLOBAL_OFFSET_TABLE_;\n  local_b9 = needs_special_offset_handling;\n  local_c4 = address;\n  if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  relocate.skip_call_tls_get_addr_ = false;\n  local_b0 = relinfo->object;\n  pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n  p_Var3 = pp_Var2[0x23];\n  if (p_Var3 == gold::Relobj::local_symbol_count) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pp_Var2[0x2f])(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*p_Var3)(local_b0);\n  }\n  puVar30 = (undefined4 *)auStack_dc;\n  if (reloc_count == 0) {\nLAB_0008cc40:\n    if (relocate.skip_call_tls_get_addr_ != false) {\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }\n    return;\n  }\n  uVar24 = *(uint *)prelocs;\n  puVar30 = (undefined4 *)auStack_dc;\n  if (*(int *)(prelocs + 4) == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_cc = (Symbol_table *)(local_90 + 0x1f2);\n    local_d0 = (Symbol_table *)(local_90 + 0x1f2);\n    puVar30 = (undefined4 *)auStack_dc;\n    do {\n      local_a0 = uVar24;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (reloc_count == local_98) goto LAB_0008cc40;\n      piVar1 = (int *)(prelocs + 0x1c);\n      uVar24 = *(uint *)(prelocs + 0x18);\n      prelocs = prelocs + 0x18;\n    } while (*piVar1 == 0);\n  }\n  ppuVar28 = local_90;\n  *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)((int)puVar30 + -0xc) = 0xc0;\n  *(undefined ***)((int)puVar30 + -0x10) = ppuVar28 + -0x672d3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd71;\n  gold::do_gold_unreachable\n            (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n             *(char **)((int)puVar30 + -8));\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_32e241::Target_x86_64<64>::" identifier . identifier : : identifier < number_literal > : :) (function_declarator "relocate_section\n          (Target_x86_64<64> *this,Relocate_info<64,_false> *relinfo,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          uchar *view,Elf_Addr address,section_size_type view_size,\n          Reloc_symbol_changes *reloc_symbol_changes)" identifier (parameter_list "(Target_x86_64<64> *this,Relocate_info<64,_false> *relinfo,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          uchar *view,Elf_Addr address,section_size_type view_size,\n          Reloc_symbol_changes *reloc_symbol_changes)" ( (parameter_declaration "Target_x86_64<64> *this" type_identifier (ERROR "<64>" < number_literal >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relocate_info" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *relinfo" type_identifier (ERROR ">" >) (pointer_declarator "*relinfo" * identifier)) , (parameter_declaration "uint sh_type" 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 "uchar *view" type_identifier (pointer_declarator "*view" * identifier)) , (parameter_declaration "Elf_Addr address" type_identifier identifier) , (parameter_declaration "section_size_type view_size" type_identifier identifier) , (parameter_declaration "Reloc_symbol_changes *reloc_symbol_changes" type_identifier (pointer_declarator "*reloc_symbol_changes" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  _func_int_varargs **pp_Var2;\n  _func_int_varargs *p_Var3;\n  undefined **ppuVar4;\n  pointer ppSVar5;\n  pointer pSVar6;\n  pointer ppOVar7;\n  Sized_relobj_file<64,_false> *pSVar8;\n  pointer pcVar9;\n  code *pcVar10;\n  longlong lVar11;\n  size_type sVar12;\n  bool bVar13;\n  byte bVar14;\n  char cVar15;\n  uchar *puVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  uint uVar19;\n  Relobj *pRVar20;\n  int iVar21;\n  char *pcVar22;\n  byte bVar23;\n  uint uVar24;\n  Object *extraout_ECX;\n  Object *extraout_ECX_00;\n  Object *pOVar25;\n  Object *extraout_ECX_01;\n  byte bVar26;\n  Symbol_table *pSVar27;\n  undefined **ppuVar28;\n  undefined1 *puVar29;\n  undefined4 *puVar30;\n  undefined1 *puVar31;\n  _Alloc_hider _Var32;\n  byte *pbVar33;\n  byte *pbVar34;\n  Symbol_table *unaff_EDI;\n  Symbol_table *pSVar35;\n  bool bVar36;\n  bool bVar37;\n  byte bVar38;\n  Address AVar39;\n  size_t asStack_104 [6];\n  undefined1 auStack_dc [12];\n  Symbol_table *local_d0;\n  Symbol_table *local_cc;\n  uint local_c8;\n  Elf_Addr local_c4;\n  char local_b9;\n  Symbol_value<64> *local_b8;\n  uint local_b4;\n  Sized_relobj_file<64,_false> *local_b0;\n  uint local_ac;\n  int local_a8;\n  Symbol_value<64> *local_a4;\n  uint local_a0;\n  Symbol_value<64> *local_9c;\n  size_t local_98;\n  Symbol_table *local_94;\n  undefined **local_90;\n  Relocate relocate;\n  bool is_ordinary;\n  uint key_symndx;\n  Elf_Addr value;\n  Symbol_value<64> symval;\n  Symbol_value<64> symval2;\n  string name;\n  bool found;\n  undefined1 local_2c [28];\n  \n  bVar38 = 0;\n  local_90 = &_GLOBAL_OFFSET_TABLE_;\n  local_b9 = needs_special_offset_handling;\n  local_c4 = address;\n  if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  relocate.skip_call_tls_get_addr_ = false;\n  local_b0 = relinfo->object;\n  pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n  p_Var3 = pp_Var2[0x23];\n  if (p_Var3 == gold::Relobj::local_symbol_count) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pp_Var2[0x2f])(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*p_Var3)(local_b0);\n  }\n  puVar30 = (undefined4 *)auStack_dc;\n  if (reloc_count == 0) {\nLAB_0008cc40:\n    if (relocate.skip_call_tls_get_addr_ != false) {\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }\n    return;\n  }\n  uVar24 = *(uint *)prelocs;\n  puVar30 = (undefined4 *)auStack_dc;\n  if (*(int *)(prelocs + 4) == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_cc = (Symbol_table *)(local_90 + 0x1f2);\n    local_d0 = (Symbol_table *)(local_90 + 0x1f2);\n    puVar30 = (undefined4 *)auStack_dc;\n    do {\n      local_a0 = uVar24;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (reloc_count == local_98) goto LAB_0008cc40;\n      piVar1 = (int *)(prelocs + 0x1c);\n      uVar24 = *(uint *)(prelocs + 0x18);\n      prelocs = prelocs + 0x18;\n    } while (*piVar1 == 0);\n  }\n  ppuVar28 = local_90;\n  *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)((int)puVar30 + -0xc) = 0xc0;\n  *(undefined ***)((int)puVar30 + -0x10) = ppuVar28 + -0x672d3;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd71;\n  gold::do_gold_unreachable\n            (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n             *(char **)((int)puVar30 + -8));\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "_func_int_varargs **pp_Var2;" type_identifier (pointer_declarator "**pp_Var2" * (pointer_declarator "*pp_Var2" * identifier)) ;) (declaration "_func_int_varargs *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "pointer ppSVar5;" type_identifier identifier ;) (declaration "pointer pSVar6;" type_identifier identifier ;) (declaration "pointer ppOVar7;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<64,_false> *pSVar8;" (comma_expression "Sized_relobj_file<64,_false> *pSVar8" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> *pSVar8" identifier > (pointer_expression "*pSVar8" * identifier))) ;) (declaration "pointer pcVar9;" type_identifier identifier ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "longlong lVar11;" type_identifier identifier ;) (declaration "size_type sVar12;" type_identifier identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "uchar *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "Relobj *pRVar20;" type_identifier (pointer_declarator "*pRVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "Object *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "Object *extraout_ECX_00;" type_identifier (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "Object *pOVar25;" type_identifier (pointer_declarator "*pOVar25" * identifier) ;) (declaration "Object *extraout_ECX_01;" type_identifier (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "Symbol_table *pSVar27;" type_identifier (pointer_declarator "*pSVar27" * identifier) ;) (declaration "undefined **ppuVar28;" type_identifier (pointer_declarator "**ppuVar28" * (pointer_declarator "*ppuVar28" * identifier)) ;) (declaration "undefined1 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "undefined4 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "undefined1 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "_Alloc_hider _Var32;" type_identifier identifier ;) (declaration "byte *pbVar33;" type_identifier (pointer_declarator "*pbVar33" * identifier) ;) (declaration "byte *pbVar34;" type_identifier (pointer_declarator "*pbVar34" * identifier) ;) (declaration "Symbol_table *unaff_EDI;" type_identifier (pointer_declarator "*unaff_EDI" * identifier) ;) (declaration "Symbol_table *pSVar35;" type_identifier (pointer_declarator "*pSVar35" * identifier) ;) (declaration "bool bVar36;" primitive_type identifier ;) (declaration "bool bVar37;" primitive_type identifier ;) (declaration "byte bVar38;" type_identifier identifier ;) (declaration "Address AVar39;" type_identifier identifier ;) (declaration "size_t asStack_104 [6];" primitive_type (array_declarator "asStack_104 [6]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_dc [12];" type_identifier (array_declarator "auStack_dc [12]" identifier [ number_literal ]) ;) (declaration "Symbol_table *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "Symbol_table *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "uint local_c8;" type_identifier identifier ;) (declaration "Elf_Addr local_c4;" type_identifier identifier ;) (declaration "char local_b9;" primitive_type identifier ;) (expression_statement "Symbol_value<64> *local_b8;" (binary_expression "Symbol_value<64> *local_b8" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*local_b8" * identifier)) ;) (declaration "uint local_b4;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<64,_false> *local_b0;" (comma_expression "Sized_relobj_file<64,_false> *local_b0" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> *local_b0" identifier > (pointer_expression "*local_b0" * identifier))) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (expression_statement "Symbol_value<64> *local_a4;" (binary_expression "Symbol_value<64> *local_a4" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*local_a4" * identifier)) ;) (declaration "uint local_a0;" type_identifier identifier ;) (expression_statement "Symbol_value<64> *local_9c;" (binary_expression "Symbol_value<64> *local_9c" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*local_9c" * identifier)) ;) (declaration "size_t local_98;" primitive_type identifier ;) (declaration "Symbol_table *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined **local_90;" type_identifier (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier)) ;) (declaration "Relocate relocate;" type_identifier identifier ;) (declaration "bool is_ordinary;" primitive_type identifier ;) (declaration "uint key_symndx;" type_identifier identifier ;) (declaration "Elf_Addr value;" type_identifier identifier ;) (expression_statement "Symbol_value<64> symval;" (binary_expression "Symbol_value<64> symval" (binary_expression "Symbol_value<64" identifier < number_literal) > identifier) ;) (expression_statement "Symbol_value<64> symval2;" (binary_expression "Symbol_value<64> symval2" (binary_expression "Symbol_value<64" identifier < number_literal) > identifier) ;) (declaration "string name;" type_identifier identifier ;) (declaration "bool found;" primitive_type identifier ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "bVar38 = 0;" (assignment_expression "bVar38 = 0" identifier = number_literal) ;) (expression_statement "local_90 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_90 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "local_b9 = needs_special_offset_handling;" (assignment_expression "local_b9 = needs_special_offset_handling" identifier = identifier) ;) (expression_statement "local_c4 = address;" (assignment_expression "local_c4 = address" identifier = identifier) ;) (if_statement "if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" if (parenthesized_expression "(sh_type != 4)" ( (binary_expression "sh_type != 4" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section");" (call_expression "do_gold_unreachable("../../gold/x86_64.cc",0x1615,"relocate_section")" identifier (argument_list "("../../gold/x86_64.cc",0x1615,"relocate_section")" ( (string_literal ""../../gold/x86_64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;)) })) (expression_statement "relocate.skip_call_tls_get_addr_ = false;" (assignment_expression "relocate.skip_call_tls_get_addr_ = false" (field_expression "relocate.skip_call_tls_get_addr_" identifier . field_identifier) = false) ;) (expression_statement "local_b0 = relinfo->object;" (assignment_expression "local_b0 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (expression_statement "pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(local_b0->super_Sized_relobj<64,_false>)" ( (comma_expression "local_b0->super_Sized_relobj<64,_false" (binary_expression "local_b0->super_Sized_relobj<64" (field_expression "local_b0->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var3 = pp_Var2[0x23];" (assignment_expression "p_Var3 = pp_Var2[0x23]" identifier = (subscript_expression "pp_Var2[0x23]" identifier [ number_literal ])) ;) (if_statement "if (p_Var3 == gold::Relobj::local_symbol_count) {\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pp_Var2[0x2f])(local_b0);\n  }\n  else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*p_Var3)(local_b0);\n  }" if (parenthesized_expression "(p_Var3 == gold::Relobj::local_symbol_count)" ( (ERROR "p_Var3 == gold::Relobj::" (binary_expression "p_Var3 == gold" identifier == identifier) : : identifier : :) identifier )) (compound_statement "{\n                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*pp_Var2[0x2f])(local_b0);\n  }" { comment (expression_statement "local_c8 = (*pp_Var2[0x2f])(local_b0);" (assignment_expression "local_c8 = (*pp_Var2[0x2f])(local_b0)" identifier = (call_expression "(*pp_Var2[0x2f])(local_b0)" (parenthesized_expression "(*pp_Var2[0x2f])" ( (pointer_expression "*pp_Var2[0x2f]" * (subscript_expression "pp_Var2[0x2f]" identifier [ number_literal ])) )) (argument_list "(local_b0)" ( identifier )))) ;) }) (else_clause "else {\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*p_Var3)(local_b0);\n  }" else (compound_statement "{\n                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */\n    local_c8 = (*p_Var3)(local_b0);\n  }" { comment (expression_statement "local_c8 = (*p_Var3)(local_b0);" (assignment_expression "local_c8 = (*p_Var3)(local_b0)" identifier = (call_expression "(*p_Var3)(local_b0)" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "(local_b0)" ( identifier )))) ;) }))) (expression_statement "puVar30 = (undefined4 *)auStack_dc;" (assignment_expression "puVar30 = (undefined4 *)auStack_dc" identifier = (cast_expression "(undefined4 *)auStack_dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (reloc_count == 0) {\nLAB_0008cc40:\n    if (relocate.skip_call_tls_get_addr_ != false) {\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }\n    return;\n  }" if (parenthesized_expression "(reloc_count == 0)" ( (binary_expression "reloc_count == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008cc40:\n    if (relocate.skip_call_tls_get_addr_ != false) {\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }\n    return;\n  }" { (labeled_statement "LAB_0008cc40:\n    if (relocate.skip_call_tls_get_addr_ != false) {\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }" statement_identifier : (if_statement "if (relocate.skip_call_tls_get_addr_ != false) {\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }" if (parenthesized_expression "(relocate.skip_call_tls_get_addr_ != false)" ( (binary_expression "relocate.skip_call_tls_get_addr_ != false" (field_expression "relocate.skip_call_tls_get_addr_" identifier . field_identifier) != false) )) (compound_statement "{\n      *(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;\n      uVar17 = gettext();\n      *(undefined4 *)((int)puVar30 + -0x10) = uVar17;\n      *(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;\n      gold::gold_error(*(char **)((int)puVar30 + -0x10));\n      return;\n    }" { (expression_statement "*(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be;" (assignment_expression "*(undefined ***)((int)puVar30 + -0x10) = local_90 + -0x671be" (pointer_expression "*(undefined ***)((int)puVar30 + -0x10)" * (cast_expression "(undefined ***)((int)puVar30 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x671be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cd27" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x10) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x10) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cd2f" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_error(*(char **)((int)puVar30 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(*(char **)((int)puVar30 + -0x10));" (call_expression "gold_error(*(char **)((int)puVar30 + -0x10))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (return_statement "return;" return ;) }))) (return_statement "return;" return ;) })) (expression_statement "uVar24 = *(uint *)prelocs;" (assignment_expression "uVar24 = *(uint *)prelocs" identifier = (pointer_expression "*(uint *)prelocs" * (cast_expression "(uint *)prelocs" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar30 = (undefined4 *)auStack_dc;" (assignment_expression "puVar30 = (undefined4 *)auStack_dc" identifier = (cast_expression "(undefined4 *)auStack_dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(prelocs + 4) == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_cc = (Symbol_table *)(local_90 + 0x1f2);\n    local_d0 = (Symbol_table *)(local_90 + 0x1f2);\n    puVar30 = (undefined4 *)auStack_dc;\n    do {\n      local_a0 = uVar24;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (reloc_count == local_98) goto LAB_0008cc40;\n      piVar1 = (int *)(prelocs + 0x1c);\n      uVar24 = *(uint *)(prelocs + 0x18);\n      prelocs = prelocs + 0x18;\n    } while (*piVar1 == 0);\n  }" if (parenthesized_expression "(*(int *)(prelocs + 4) == 0)" ( (binary_expression "*(int *)(prelocs + 4) == 0" (pointer_expression "*(int *)(prelocs + 4)" * (cast_expression "(int *)(prelocs + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_a8 = 0;\n    local_98 = 0;\n    local_cc = (Symbol_table *)(local_90 + 0x1f2);\n    local_d0 = (Symbol_table *)(local_90 + 0x1f2);\n    puVar30 = (undefined4 *)auStack_dc;\n    do {\n      local_a0 = uVar24;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (reloc_count == local_98) goto LAB_0008cc40;\n      piVar1 = (int *)(prelocs + 0x1c);\n      uVar24 = *(uint *)(prelocs + 0x18);\n      prelocs = prelocs + 0x18;\n    } while (*piVar1 == 0);\n  }" { (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_cc = (Symbol_table *)(local_90 + 0x1f2);" (assignment_expression "local_cc = (Symbol_table *)(local_90 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_90 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 0x1f2)" ( (binary_expression "local_90 + 0x1f2" identifier + number_literal) )))) ;) (expression_statement "local_d0 = (Symbol_table *)(local_90 + 0x1f2);" (assignment_expression "local_d0 = (Symbol_table *)(local_90 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_90 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 0x1f2)" ( (binary_expression "local_90 + 0x1f2" identifier + number_literal) )))) ;) (expression_statement "puVar30 = (undefined4 *)auStack_dc;" (assignment_expression "puVar30 = (undefined4 *)auStack_dc" identifier = (cast_expression "(undefined4 *)auStack_dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      local_a0 = uVar24;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (reloc_count == local_98) goto LAB_0008cc40;\n      piVar1 = (int *)(prelocs + 0x1c);\n      uVar24 = *(uint *)(prelocs + 0x18);\n      prelocs = prelocs + 0x18;\n    } while (*piVar1 == 0);" do (compound_statement "{\n      local_a0 = uVar24;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (reloc_count == local_98) goto LAB_0008cc40;\n      piVar1 = (int *)(prelocs + 0x1c);\n      uVar24 = *(uint *)(prelocs + 0x18);\n      prelocs = prelocs + 0x18;\n    }" { (expression_statement "local_a0 = uVar24;" (assignment_expression "local_a0 = uVar24" identifier = identifier) ;) (if_statement "if (local_b9 == '\0') {\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }\n      else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" if (parenthesized_expression "(local_b9 == '\0')" ( (binary_expression "local_b9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0008c1ed:\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        local_ac = *(uint *)(prelocs + 0xc);\n        symval._8_4_ = 0x80000000;\n        symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n        symval.u_.value._4_4_ = 0;\n        if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }\n        puVar30[-1] = view_size;\n        lVar11 = local_c4 + (longlong)(int)local_a0;\n        *(longlong *)(puVar30 + -3) = lVar11;\n        puVar30[-4] = puVar16;\n        puVar30[-5] = local_a4;\n        puVar30[-6] = local_94;\n        puVar30[-7] = prelocs;\n        puVar30[-8] = local_98;\n                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */\n        puVar30[-9] = 0x8c077;\n        bVar13 = Relocate::relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n      }" { (labeled_statement "LAB_0008c1ed:\n        symval.output_symtab_index_ = 0;" statement_identifier : (expression_statement "symval.output_symtab_index_ = 0;" (assignment_expression "symval.output_symtab_index_ = 0" (field_expression "symval.output_symtab_index_" identifier . field_identifier) = number_literal) ;)) (expression_statement "symval.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval.output_dynsym_index_ = 0xffffffff" (field_expression "symval.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_ac = *(uint *)(prelocs + 0xc);" (assignment_expression "local_ac = *(uint *)(prelocs + 0xc)" identifier = (pointer_expression "*(uint *)(prelocs + 0xc)" * (cast_expression "(uint *)(prelocs + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 0xc)" ( (binary_expression "prelocs + 0xc" identifier + number_literal) ))))) ;) (expression_statement "symval._8_4_ = 0x80000000;" (assignment_expression "symval._8_4_ = 0x80000000" (field_expression "symval._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;" (assignment_expression "symval.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0" (field_expression "symval.u_.merged_symbol_value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (parenthesized_expression "(Merged_symbol_value<64> *)0x0" ( (binary_expression "Merged_symbol_value<64> *)0x0" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "symval.u_.value._4_4_ = 0;" (assignment_expression "symval.u_.value._4_4_ = 0" (field_expression "symval.u_.value._4_4_" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (local_ac < local_c8) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }\n        else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }" if (parenthesized_expression "(local_ac < local_c8)" ( (binary_expression "local_ac < local_c8" identifier < identifier) )) (compound_statement "{\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;\n          pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;\n          if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_a4 = pSVar6 + local_ac;\n          local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;\n          if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }\n          ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;\n          if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }\n          local_94 = (Symbol_table *)ppOVar7[local_b4];\n          if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;\n          *(uint *)((int)puVar30 + -8) = local_b4;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;\n          bVar13 = gold::Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));\n          local_9c = &symval;\n          if (bVar13) goto LAB_0008bfef;\nLAB_0008c478:\n          symval2.output_symtab_index_ = 0;\n          pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;\n          *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n          *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          *(string **)((int)puVar30 + -0x10) = &name;\n                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */\n          p_Var3 = pp_Var2[0x10];\n          *(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;\n          (*p_Var3)();\n          bVar13 = false;\n          bVar37 = local_a8 == 0;\n          if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }\n          puVar31 = (undefined1 *)((int)puVar30 + -4);\n          puVar29 = (undefined1 *)((int)puVar30 + -4);\n          if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }\n          local_b8 = &symval2;\n          local_a4 = &symval2;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          puVar16 = (uchar *)0x0;\n          puVar30 = (undefined4 *)puVar31;\n        }" { (if_statement "if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)) goto LAB_0008bf67;" if (parenthesized_expression "((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0))" ( (binary_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)" (parenthesized_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0)" ( (binary_expression "reloc_symbol_changes != (Reloc_symbol_changes *)0x0" identifier != (cast_expression "(Reloc_symbol_changes *)0x0" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0)" ( (comma_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 != (Symbol_table *)0x0" (subscript_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98]" (field_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start" (field_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(reloc_symbol_changes->vec_).\n                         super__Vector_base" (parenthesized_expression "(reloc_symbol_changes->vec_)" ( (field_expression "reloc_symbol_changes->vec_" 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) [ identifier ]) , (binary_expression "local_94 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0008bf67;" goto statement_identifier ;)) (expression_statement "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start;" (field_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl._M_start" (field_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                   ._M_impl" (binary_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_" (binary_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_" (binary_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64" (binary_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold" (binary_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64>,_std" (binary_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold::Symbol_value<64" (assignment_expression "pSVar6 = (local_b0->local_values_).\n                   super__Vector_base<gold" identifier = (binary_expression "(local_b0->local_values_).\n                   super__Vector_base<gold" (field_expression "(local_b0->local_values_).\n                   super__Vector_base" (parenthesized_expression "(local_b0->local_values_)" ( (field_expression "local_b0->local_values_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish;" (field_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl._M_finish" (field_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                     ._M_impl" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64>,_std" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold::Symbol_value<64" (assignment_expression "local_94 = (Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                     (local_b0->local_values_).\n                     super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_b0->local_values_).\n                     super__Vector_base" (parenthesized_expression "(local_b0->local_values_)" ( (field_expression "local_b0->local_values_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }" if (parenthesized_expression "((uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac)" ( (binary_expression "(uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333) <= local_ac" (call_expression "(uint)(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)local_94 - (int)pSVar6 >> 2) * -0x33333333)" ( (binary_expression "((int)local_94 - (int)pSVar6 >> 2) * -0x33333333" (parenthesized_expression "((int)local_94 - (int)pSVar6 >> 2)" ( (binary_expression "(int)local_94 - (int)pSVar6 >> 2" (binary_expression "(int)local_94 - (int)pSVar6" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pSVar6" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dd4" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65dd4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cdda" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_a4 = pSVar6 + local_ac;" (assignment_expression "local_a4 = pSVar6 + local_ac" identifier = (binary_expression "pSVar6 + local_ac" identifier + identifier)) ;) (expression_statement "local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff;" (assignment_expression "local_b4 = *(uint *)&local_a4->field_0x8 & 0x7ffffff" identifier = (binary_expression "*(uint *)&local_a4->field_0x8 & 0x7ffffff" (pointer_expression "*(uint *)&local_a4->field_0x8" * (cast_expression "(uint *)&local_a4->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_a4->field_0x8" & (field_expression "local_a4->field_0x8" identifier -> field_identifier)))) & number_literal)) ;) (if_statement "if (((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }" if (parenthesized_expression "(((local_a4->field_0xb & 8) == 0) || (local_b4 == 0))" ( (binary_expression "((local_a4->field_0xb & 8) == 0) || (local_b4 == 0)" (parenthesized_expression "((local_a4->field_0xb & 8) == 0)" ( (binary_expression "(local_a4->field_0xb & 8) == 0" (parenthesized_expression "(local_a4->field_0xb & 8)" ( (binary_expression "local_a4->field_0xb & 8" (field_expression "local_a4->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "(local_b4 == 0)" ( (binary_expression "local_b4 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;\n            local_9c = &symval;\n            goto LAB_0008bfef;\n          }" { (labeled_statement "LAB_0008c3f0:\n            local_94 = (Symbol_table *)0x0;" statement_identifier : (expression_statement "local_94 = (Symbol_table *)0x0;" (assignment_expression "local_94 = (Symbol_table *)0x0" identifier = (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_9c = &symval;" (assignment_expression "local_9c = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (goto_statement "goto LAB_0008bfef;" goto statement_identifier ;) })) (expression_statement "ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;" (field_expression "ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar7 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" identifier = (binary_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(local_b0->super_Sized_relobj<64,_false>)" ( (comma_expression "local_b0->super_Sized_relobj<64,_false" (binary_expression "local_b0->super_Sized_relobj<64" (field_expression "local_b0->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish;" (field_expression "local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_finish" (field_expression "local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std" (assignment_expression "local_94 = (Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                     (local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                     super__Vector_base" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(local_b0->super_Sized_relobj<64,_false>)" ( (comma_expression "local_b0->super_Sized_relobj<64,_false" (binary_expression "local_b0->super_Sized_relobj<64" (field_expression "local_b0->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4) {\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }" if (parenthesized_expression "((uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4)" ( (binary_expression "(uint)((int)local_94 - (int)ppOVar7 >> 2) <= local_b4" (call_expression "(uint)((int)local_94 - (int)ppOVar7 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_94 - (int)ppOVar7 >> 2)" ( (binary_expression "(int)local_94 - (int)ppOVar7 >> 2" (binary_expression "(int)local_94 - (int)ppOVar7" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppOVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;\n            *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)((int)puVar30 + -0xc) = 0x50b;\n            *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));\n          }" { (expression_statement "*(Symbol_table **)((int)puVar30 + -4) = unaff_EDI;" (assignment_expression "*(Symbol_table **)((int)puVar30 + -4) = unaff_EDI" (pointer_expression "*(Symbol_table **)((int)puVar30 + -4)" * (cast_expression "(Symbol_table **)((int)puVar30 + -4)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -4)" ( (binary_expression "(int)puVar30 + -4" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65c3f" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65c3f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8ceb7" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                       *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_94 = (Symbol_table *)ppOVar7[local_b4];" (assignment_expression "local_94 = (Symbol_table *)ppOVar7[local_b4]" identifier = (cast_expression "(Symbol_table *)ppOVar7[local_b4]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppOVar7[local_b4]" identifier [ identifier ]))) ;) (if_statement "if (local_94 != (Symbol_table *)0x0) goto LAB_0008c3f0;" if (parenthesized_expression "(local_94 != (Symbol_table *)0x0)" ( (binary_expression "local_94 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0008c3f0;" goto statement_identifier ;)) (expression_statement "*(uint *)((int)puVar30 + -8) = local_b4;" (assignment_expression "*(uint *)((int)puVar30 + -8) = local_b4" (pointer_expression "*(uint *)((int)puVar30 + -8)" * (cast_expression "(uint *)((int)puVar30 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;" (assignment_expression "*(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab" (pointer_expression "*(Symbol_table **)((int)puVar30 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar30 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->symtab" identifier -> field_identifier)) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c461;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c461" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "bVar13 = gold::" (assignment_expression "bVar13 = gold" identifier = identifier) : :) (labeled_statement "Symbol_table::is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8));" (call_expression "is_section_folded\n                             (*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8))" identifier (argument_list "(*(Symbol_table **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8))" ( (pointer_expression "*(Symbol_table **)((int)puVar30 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar30 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Relobj **)((int)puVar30 + -0xc)" * (cast_expression "(Relobj **)((int)puVar30 + -0xc)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar30 + -8)" * (cast_expression "(uint *)((int)puVar30 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "local_9c = &symval;" (assignment_expression "local_9c = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (if_statement "if (bVar13) goto LAB_0008bfef;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_0008bfef;" goto statement_identifier ;)) (labeled_statement "LAB_0008c478:\n          symval2.output_symtab_index_ = 0;" statement_identifier : (expression_statement "symval2.output_symtab_index_ = 0;" (assignment_expression "symval2.output_symtab_index_ = 0" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) = number_literal) ;)) (expression_statement "pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object\n          ;" (assignment_expression "pp_Var2 = (local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(local_b0->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(local_b0->super_Sized_relobj<64,_false>)" ( (comma_expression "local_b0->super_Sized_relobj<64,_false" (binary_expression "local_b0->super_Sized_relobj<64" (field_expression "local_b0->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "*(uint *)((int)puVar30 + -8) = relinfo->data_shndx;" (assignment_expression "*(uint *)((int)puVar30 + -8) = relinfo->data_shndx" (pointer_expression "*(uint *)((int)puVar30 + -8)" * (cast_expression "(uint *)((int)puVar30 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->data_shndx" identifier -> field_identifier)) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = local_b0" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b8 = &symval2;" (assignment_expression "local_b8 = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (expression_statement "symval2.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval2.output_dynsym_index_ = 0xffffffff" (field_expression "symval2.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2._8_4_ = 0x80000000;" (assignment_expression "symval2._8_4_ = 0x80000000" (field_expression "symval2._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;" (assignment_expression "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0" (field_expression "symval2.u_.merged_symbol_value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = (parenthesized_expression "(Merged_symbol_value<64> *)0x0" ( (binary_expression "Merged_symbol_value<64> *)0x0" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "symval2.u_.value._4_4_ = 0;" (assignment_expression "symval2.u_.value._4_4_ = 0" (field_expression "symval2.u_.value._4_4_" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(string **)((int)puVar30 + -0x10) = &name;" (assignment_expression "*(string **)((int)puVar30 + -0x10) = &name" (pointer_expression "*(string **)((int)puVar30 + -0x10)" * (cast_expression "(string **)((int)puVar30 + -0x10)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&name" & identifier)) ;) comment (expression_statement "p_Var3 = pp_Var2[0x10];" (assignment_expression "p_Var3 = pp_Var2[0x10]" identifier = (subscript_expression "pp_Var2[0x10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c4bd" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*p_Var3)();" (call_expression "(*p_Var3)()" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar37 = local_a8 == 0;" (assignment_expression "bVar37 = local_a8 == 0" identifier = (binary_expression "local_a8 == 0" identifier == number_literal)) ;) (if_statement "if (bVar37) {\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }" if (parenthesized_expression "(bVar37)" ( identifier )) (compound_statement "{\n            iVar21 = 6;\n            _Var32 = name._M_dataplus;\n            pbVar34 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);\n            bVar36 = false;\n            bVar13 = (!bVar13 && !bVar37) == bVar13;\n            if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;\n            *(string **)((int)puVar30 + -0xc) = &name;\n            *(uint *)((int)puVar30 + -0x10) = local_b4;\n            *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;\n                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;\n            AVar39 = gold::Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n            if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }\n            local_a8 = 1;\n          }" { (expression_statement "iVar21 = 6;" (assignment_expression "iVar21 = 6" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "pbVar34 = (byte *)((int)local_90 + -0x19cac3);" (assignment_expression "pbVar34 = (byte *)((int)local_90 + -0x19cac3)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19cac3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19cac3)" ( (binary_expression "(int)local_90 + -0x19cac3" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            } while (bVar37);" do (compound_statement "{\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar13 = (byte)*_Var32._M_p < *pbVar34;\n              bVar37 = *_Var32._M_p == *pbVar34;\n              _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n              pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n            }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = (byte)*_Var32._M_p < *pbVar34;" (assignment_expression "bVar13 = (byte)*_Var32._M_p < *pbVar34" identifier = (binary_expression "(byte)*_Var32._M_p < *pbVar34" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "bVar37 = *_Var32._M_p == *pbVar34;" (assignment_expression "bVar37 = *_Var32._M_p == *pbVar34" identifier = (binary_expression "*_Var32._M_p == *pbVar34" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar34 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar34 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar37)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar13 && !bVar37) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar37) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar37) == bVar13" (parenthesized_expression "(!bVar13 && !bVar37)" ( (binary_expression "!bVar13 && !bVar37" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar37" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n              iVar21 = 7;\n              _Var32 = name._M_dataplus;\n              ppuVar28 = local_90 + -0x672af;\n              do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);\n              bVar37 = false;\n              bVar13 = (!bVar36 && !bVar13) == bVar36;\n              if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar21 = 7;" (assignment_expression "iVar21 = 7" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "ppuVar28 = local_90 + -0x672af;" (assignment_expression "ppuVar28 = local_90 + -0x672af" identifier = (binary_expression "local_90 + -0x672af" identifier + number_literal)) ;) (do_statement "do {\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              } while (bVar13);" do (compound_statement "{\n                if (iVar21 == 0) break;\n                iVar21 = iVar21 + -1;\n                bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n              }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28;" (assignment_expression "bVar36 = (byte)*_Var32._M_p < *(byte *)ppuVar28" identifier = (binary_expression "(byte)*_Var32._M_p < *(byte *)ppuVar28" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *_Var32._M_p == *(byte *)ppuVar28;" (assignment_expression "bVar13 = *_Var32._M_p == *(byte *)ppuVar28" identifier = (binary_expression "*_Var32._M_p == *(byte *)ppuVar28" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);" (assignment_expression "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2 + 1" (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2" (cast_expression "(int)ppuVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar36 && !bVar13) == bVar36;" (assignment_expression "bVar13 = (!bVar36 && !bVar13) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar13) == bVar36" (parenthesized_expression "(!bVar36 && !bVar13)" ( (binary_expression "!bVar36 && !bVar13" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                iVar21 = 0x11;\n                _Var32 = name._M_dataplus;\n                ppuVar28 = local_90 + -0x672ad;\n                do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);\n                bVar36 = false;\n                bVar13 = (!bVar37 && !bVar13) == bVar37;\n                if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar21 = 0x11;" (assignment_expression "iVar21 = 0x11" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "ppuVar28 = local_90 + -0x672ad;" (assignment_expression "ppuVar28 = local_90 + -0x672ad" identifier = (binary_expression "local_90 + -0x672ad" identifier + number_literal)) ;) (do_statement "do {\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                } while (bVar13);" do (compound_statement "{\n                  if (iVar21 == 0) break;\n                  iVar21 = iVar21 + -1;\n                  bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                  bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                  _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                  ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;" (assignment_expression "bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28" identifier = (binary_expression "(byte)*_Var32._M_p < *(byte *)ppuVar28" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *_Var32._M_p == *(byte *)ppuVar28;" (assignment_expression "bVar13 = *_Var32._M_p == *(byte *)ppuVar28" identifier = (binary_expression "*_Var32._M_p == *(byte *)ppuVar28" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);" (assignment_expression "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2 + 1" (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2" (cast_expression "(int)ppuVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar37 && !bVar13) == bVar37;" (assignment_expression "bVar13 = (!bVar37 && !bVar13) == bVar37" identifier = (binary_expression "(!bVar37 && !bVar13) == bVar37" (parenthesized_expression "(!bVar37 && !bVar13)" ( (binary_expression "!bVar37 && !bVar13" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                  iVar21 = 5;\n                  _Var32 = name._M_dataplus;\n                  pbVar34 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);\n                  bVar37 = false;\n                  bVar13 = (!bVar36 && !bVar13) == bVar36;\n                  if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar21 = 5;" (assignment_expression "iVar21 = 5" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "pbVar34 = (byte *)((int)local_90 + -0x19caa2);" (assignment_expression "pbVar34 = (byte *)((int)local_90 + -0x19caa2)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19caa2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19caa2)" ( (binary_expression "(int)local_90 + -0x19caa2" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  } while (bVar13);" do (compound_statement "{\n                    if (iVar21 == 0) break;\n                    iVar21 = iVar21 + -1;\n                    bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                    bVar13 = *_Var32._M_p == *pbVar34;\n                    _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                    pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                  }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = (byte)*_Var32._M_p < *pbVar34;" (assignment_expression "bVar36 = (byte)*_Var32._M_p < *pbVar34" identifier = (binary_expression "(byte)*_Var32._M_p < *pbVar34" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "bVar13 = *_Var32._M_p == *pbVar34;" (assignment_expression "bVar13 = *_Var32._M_p == *pbVar34" identifier = (binary_expression "*_Var32._M_p == *pbVar34" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar34 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar34 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar36 && !bVar13) == bVar36;" (assignment_expression "bVar13 = (!bVar36 && !bVar13) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar13) == bVar36" (parenthesized_expression "(!bVar36 && !bVar13)" ( (binary_expression "!bVar36 && !bVar13" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                    iVar21 = 5;\n                    _Var32 = name._M_dataplus;\n                    ppuVar28 = local_90 + -0x672a7;\n                    do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);\n                    bVar36 = false;\n                    bVar13 = (!bVar37 && !bVar13) == bVar37;\n                    if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" { (expression_statement "iVar21 = 5;" (assignment_expression "iVar21 = 5" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "ppuVar28 = local_90 + -0x672a7;" (assignment_expression "ppuVar28 = local_90 + -0x672a7" identifier = (binary_expression "local_90 + -0x672a7" identifier + number_literal)) ;) (do_statement "do {\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    } while (bVar13);" do (compound_statement "{\n                      if (iVar21 == 0) break;\n                      iVar21 = iVar21 + -1;\n                      bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;\n                      bVar13 = *_Var32._M_p == *(byte *)ppuVar28;\n                      _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                    }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28;" (assignment_expression "bVar37 = (byte)*_Var32._M_p < *(byte *)ppuVar28" identifier = (binary_expression "(byte)*_Var32._M_p < *(byte *)ppuVar28" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *_Var32._M_p == *(byte *)ppuVar28;" (assignment_expression "bVar13 = *_Var32._M_p == *(byte *)ppuVar28" identifier = (binary_expression "*_Var32._M_p == *(byte *)ppuVar28" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);" (assignment_expression "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2 + 1" (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2" (cast_expression "(int)ppuVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar37 && !bVar13) == bVar37;" (assignment_expression "bVar13 = (!bVar37 && !bVar13) == bVar37" identifier = (binary_expression "(!bVar37 && !bVar13) == bVar37" (parenthesized_expression "(!bVar37 && !bVar13)" ( (binary_expression "!bVar37 && !bVar13" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                      iVar21 = 4;\n                      _Var32 = name._M_dataplus;\n                      pbVar34 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" { (expression_statement "iVar21 = 4;" (assignment_expression "iVar21 = 4" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "pbVar34 = (byte *)((int)local_90 + -0x19ca96);" (assignment_expression "pbVar34 = (byte *)((int)local_90 + -0x19ca96)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19ca96)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19ca96)" ( (binary_expression "(int)local_90 + -0x19ca96" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      } while (bVar13);" do (compound_statement "{\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                        bVar13 = *_Var32._M_p == *pbVar34;\n                        _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                        pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                      }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = (byte)*_Var32._M_p < *pbVar34;" (assignment_expression "bVar36 = (byte)*_Var32._M_p < *pbVar34" identifier = (binary_expression "(byte)*_Var32._M_p < *pbVar34" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "bVar13 = *_Var32._M_p == *pbVar34;" (assignment_expression "bVar13 = *_Var32._M_p == *pbVar34" identifier = (binary_expression "*_Var32._M_p == *pbVar34" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar34 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar34 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar36 && !bVar13) == bVar36;" (assignment_expression "bVar13 = (!bVar36 && !bVar13) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar13) == bVar36" (parenthesized_expression "(!bVar36 && !bVar13)" ( (binary_expression "!bVar36 && !bVar13" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                        iVar21 = 10;\n                        _Var32 = name._M_dataplus;\n                        pbVar34 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);\n                        bVar36 = false;\n                        bVar13 = (!bVar37 && !bVar13) == bVar37;\n                        if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" { (expression_statement "iVar21 = 10;" (assignment_expression "iVar21 = 10" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "pbVar34 = (byte *)((int)local_90 + -0x19a212);" (assignment_expression "pbVar34 = (byte *)((int)local_90 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19a212)" ( (binary_expression "(int)local_90 + -0x19a212" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        } while (bVar13);" do (compound_statement "{\n                          if (iVar21 == 0) break;\n                          iVar21 = iVar21 + -1;\n                          bVar37 = (byte)*_Var32._M_p < *pbVar34;\n                          bVar13 = *_Var32._M_p == *pbVar34;\n                          _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                        }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar37 = (byte)*_Var32._M_p < *pbVar34;" (assignment_expression "bVar37 = (byte)*_Var32._M_p < *pbVar34" identifier = (binary_expression "(byte)*_Var32._M_p < *pbVar34" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "bVar13 = *_Var32._M_p == *pbVar34;" (assignment_expression "bVar13 = *_Var32._M_p == *pbVar34" identifier = (binary_expression "*_Var32._M_p == *pbVar34" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar34 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar34 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar37 && !bVar13) == bVar37;" (assignment_expression "bVar13 = (!bVar37 && !bVar13) == bVar37" identifier = (binary_expression "(!bVar37 && !bVar13) == bVar37" (parenthesized_expression "(!bVar37 && !bVar13)" ( (binary_expression "!bVar37 && !bVar13" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar13) {\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n                          iVar21 = 0x12;\n                          _Var32 = name._M_dataplus;\n                          pbVar34 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);\n                          if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;\n                        }" { (expression_statement "iVar21 = 0x12;" (assignment_expression "iVar21 = 0x12" identifier = number_literal) ;) (expression_statement "_Var32 = name._M_dataplus;" (assignment_expression "_Var32 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "pbVar34 = (byte *)((int)local_90 + -0x19ca91);" (assignment_expression "pbVar34 = (byte *)((int)local_90 + -0x19ca91)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19ca91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19ca91)" ( (binary_expression "(int)local_90 + -0x19ca91" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          } while (bVar13);" do (compound_statement "{\n                            if (iVar21 == 0) break;\n                            iVar21 = iVar21 + -1;\n                            bVar36 = (byte)*_Var32._M_p < *pbVar34;\n                            bVar13 = *_Var32._M_p == *pbVar34;\n                            _Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);\n                            pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = (byte)*_Var32._M_p < *pbVar34;" (assignment_expression "bVar36 = (byte)*_Var32._M_p < *pbVar34" identifier = (binary_expression "(byte)*_Var32._M_p < *pbVar34" (binary_expression "(byte)*_Var32._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var32._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "bVar13 = *_Var32._M_p == *pbVar34;" (assignment_expression "bVar13 = *_Var32._M_p == *pbVar34" identifier = (binary_expression "*_Var32._M_p == *pbVar34" (pointer_expression "*_Var32._M_p" * (field_expression "_Var32._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar34" * identifier))) ;) (expression_statement "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1);" (assignment_expression "_Var32._M_p = (pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (field_expression "_Var32._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var32._M_p + (uint)bVar38 * -2 + 1)" ( (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2 + 1" (binary_expression "(byte *)_Var32._M_p + (uint)bVar38 * -2" (cast_expression "(byte *)_Var32._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var32._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar34 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar34 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (if_statement "if ((!bVar36 && !bVar13) != bVar36) goto LAB_0008c67e;" if (parenthesized_expression "((!bVar36 && !bVar13) != bVar36)" ( (binary_expression "(!bVar36 && !bVar13) != bVar36" (parenthesized_expression "(!bVar36 && !bVar13)" ( (binary_expression "!bVar36 && !bVar13" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0008c67e;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0008c74a;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0008c4f4:\n            *(bool **)((int)puVar30 + -8) = &found;" statement_identifier : (expression_statement "*(bool **)((int)puVar30 + -8) = &found;" (assignment_expression "*(bool **)((int)puVar30 + -8) = &found" (pointer_expression "*(bool **)((int)puVar30 + -8)" * (cast_expression "(bool **)((int)puVar30 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&found" & identifier)) ;)) (expression_statement "*(string **)((int)puVar30 + -0xc) = &name;" (assignment_expression "*(string **)((int)puVar30 + -0xc) = &name" (pointer_expression "*(string **)((int)puVar30 + -0xc)" * (cast_expression "(string **)((int)puVar30 + -0xc)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&name" & identifier)) ;) (expression_statement "*(uint *)((int)puVar30 + -0x10) = local_b4;" (assignment_expression "*(uint *)((int)puVar30 + -0x10) = local_b4" (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = local_b0" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c510;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c510" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "AVar39 = gold::" (assignment_expression "AVar39 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8));" (comma_expression "Sized_relobj_file<64,_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8))" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8))" identifier > (ERROR "::" : :) (call_expression "map_to_kept_section\n                               (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8))" identifier (argument_list "(*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                *(uint *)((int)puVar30 + -0x10),*(string **)((int)puVar30 + -0xc),\n                                *(bool **)((int)puVar30 + -8))" ( (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(string **)((int)puVar30 + -0xc)" * (cast_expression "(string **)((int)puVar30 + -0xc)" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(bool **)((int)puVar30 + -8)" * (cast_expression "(bool **)((int)puVar30 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;" (assignment_expression "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0" (field_expression "symval2.u_.merged_symbol_value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = (parenthesized_expression "(Merged_symbol_value<64> *)0x0" ( (binary_expression "Merged_symbol_value<64> *)0x0" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "symval2.u_.value._4_4_ = 0;" (assignment_expression "symval2.u_.value._4_4_ = 0" (field_expression "symval2.u_.value._4_4_" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (found != false) {\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }" if (parenthesized_expression "(found != false)" ( (binary_expression "found != false" identifier != false) )) (compound_statement "{\n              symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);\n              symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);\n            }" { (expression_statement "symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39);" (assignment_expression "symval2.u_.merged_symbol_value =\n                   (Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39)" (field_expression "symval2.u_.merged_symbol_value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = (call_expression "(Merged_symbol_value<64> *)\n                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39)" (parenthesized_expression "(Merged_symbol_value<64> *)" ( (binary_expression "Merged_symbol_value<64> *" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39)" ( (binary_expression "(int)&((local_a4->u_).merged_symbol_value)->input_value_ + (uint)AVar39" (cast_expression "(int)&((local_a4->u_).merged_symbol_value)->input_value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((local_a4->u_).merged_symbol_value)->input_value_" & (field_expression "((local_a4->u_).merged_symbol_value)->input_value_" (parenthesized_expression "((local_a4->u_).merged_symbol_value)" ( (field_expression "(local_a4->u_).merged_symbol_value" (parenthesized_expression "(local_a4->u_)" ( (field_expression "local_a4->u_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) + (cast_expression "(uint)AVar39" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value);" (assignment_expression "symval2.u_.value._4_4_ =\n                   (int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value)" (field_expression "symval2.u_.value._4_4_" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +\n                   (uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value)" (binary_expression "(int)(AVar39 >> 0x20) + *(int *)((int)&local_a4->u_ + 4)" (cast_expression "(int)(AVar39 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(AVar39 >> 0x20)" ( (binary_expression "AVar39 >> 0x20" identifier >> number_literal) ))) + (pointer_expression "*(int *)((int)&local_a4->u_ + 4)" * (cast_expression "(int *)((int)&local_a4->u_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_a4->u_ + 4)" ( (binary_expression "(int)&local_a4->u_ + 4" (cast_expression "(int)&local_a4->u_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_a4->u_" & (field_expression "local_a4->u_" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value)" identifier (argument_list "((uint)AVar39,(uint)(local_a4->u_).merged_symbol_value)" ( (cast_expression "(uint)AVar39" ( (type_descriptor "uint" type_identifier) ) identifier) , (field_expression "(uint)(local_a4->u_).merged_symbol_value" (call_expression "(uint)(local_a4->u_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_a4->u_)" ( (field_expression "local_a4->u_" identifier -> field_identifier) ))) . field_identifier) )))))) ;) })) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }" else (compound_statement "{\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n            symval2.u_.value._4_4_ = 0;\n          }" { (if_statement "if (local_a8 == 1) goto LAB_0008c4f4;" if (parenthesized_expression "(local_a8 == 1)" ( (binary_expression "local_a8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0008c4f4;" goto statement_identifier ;)) (if_statement "if (local_a8 == 3) {\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" if (parenthesized_expression "(local_a8 == 3)" ( (binary_expression "local_a8 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0008c67e:\n              pSVar8 = relinfo->object;\n              if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }\n              *(bool **)((int)puVar30 + -8) = &is_ordinary;\n              *(Elf_Addr **)((int)puVar30 + -0xc) = &value;\n              *(uint *)((int)puVar30 + -0x10) = local_ac;\n              *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */\n              *(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;\n              uVar24 = gold::Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));\n              if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }\n              local_a8 = 3;\n            }" { (labeled_statement "LAB_0008c67e:\n              pSVar8 = relinfo->object;" statement_identifier : (expression_statement "pSVar8 = relinfo->object;" (assignment_expression "pSVar8 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;)) (if_statement "if (local_94 == (Symbol_table *)0x0) {\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }\n              else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }" if (parenthesized_expression "(local_94 == (Symbol_table *)0x0)" ( (binary_expression "local_94 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(uint *)((int)puVar30 + -0x10) = local_ac;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;\n                pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;\n                uVar17 = gettext();\n                *(uint *)((int)puVar30 + -0xc) = local_ac;\n                *(char **)((int)puVar30 + -0x10) = pcVar22;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n              }" { (expression_statement "*(uint *)((int)puVar30 + -0x10) = local_ac;" (assignment_expression "*(uint *)((int)puVar30 + -0x10) = local_ac" (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c7c5" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "pcVar22 = gold::" (assignment_expression "pcVar22 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10));" (comma_expression "Sized_relobj_file<64,_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10))" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10))" identifier > (ERROR "::" : :) (call_expression "get_symbol_name\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10))" identifier (argument_list "(*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10))" ( (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa;" (assignment_expression "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671fa" (pointer_expression "*(undefined ***)((int)puVar30 + -0x14)" * (cast_expression "(undefined ***)((int)puVar30 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x671fa" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c7db" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)((int)puVar30 + -0xc) = local_ac;" (assignment_expression "*(uint *)((int)puVar30 + -0xc) = local_ac" (pointer_expression "*(uint *)((int)puVar30 + -0xc)" * (cast_expression "(uint *)((int)puVar30 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar30 + -0x10) = pcVar22;" (assignment_expression "*(char **)((int)puVar30 + -0x10) = pcVar22" (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)((int)puVar30 + -0x18)" * (cast_expression "(int *)((int)puVar30 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)((int)puVar30 + -0x1c) = local_a0;" (assignment_expression "*(uint *)((int)puVar30 + -0x1c) = local_a0" (pointer_expression "*(uint *)((int)puVar30 + -0x1c)" * (cast_expression "(uint *)((int)puVar30 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x1c)" ( (binary_expression "(int)puVar30 + -0x1c" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)((int)puVar30 + -0x20) = local_98;" (assignment_expression "*(size_t *)((int)puVar30 + -0x20) = local_98" (pointer_expression "*(size_t *)((int)puVar30 + -0x20)" * (cast_expression "(size_t *)((int)puVar30 + -0x20)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x20)" ( (binary_expression "(int)puVar30 + -0x20" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;" (assignment_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo" (pointer_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x24)" * (call_expression "(Relocate_info<64,_false> **)((int)puVar30 + -0x24)" (parenthesized_expression "(Relocate_info<64,_false> **)" ( (comma_expression "Relocate_info<64,_false> **" (binary_expression "Relocate_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x24)" ( (binary_expression "(int)puVar30 + -0x24" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x28) = 0x8c803;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x28) = 0x8c803" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x28)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x28)" ( (binary_expression "(int)puVar30 + -0x28" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));" (comma_expression "gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10))" (binary_expression "gold_error_at_location<64" identifier < number_literal) , (binary_expression "_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10))" identifier > (parenthesized_expression "(*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10))" ( (comma_expression "*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(gold **)((int)puVar30 + -0x24)" * (cast_expression "(gold **)((int)puVar30 + -0x24)" ( (type_descriptor "gold **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x24)" ( (binary_expression "(int)puVar30 + -0x24" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x20)" * (call_expression "(Relocate_info<64,_false> **)((int)puVar30 + -0x20)" (parenthesized_expression "(Relocate_info<64,_false> **)" ( (comma_expression "Relocate_info<64,_false> **" (binary_expression "Relocate_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x20)" ( (binary_expression "(int)puVar30 + -0x20" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(size_t *)((int)puVar30 + -0x1c)" * (cast_expression "(size_t *)((int)puVar30 + -0x1c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x1c)" ( (binary_expression "(int)puVar30 + -0x1c" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(off_t *)((int)puVar30 + -0x18)" * (cast_expression "(off_t *)((int)puVar30 + -0x18)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))) )))) ;)) }) (else_clause "else {\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }" else (compound_statement "{\n                *(Symbol_table **)((int)puVar30 + -0x10) = local_94;\n                *(bool **)((int)puVar30 + -0x14) = &found;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;\n                gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));\n                puVar29 = _found;\n                *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;\n                uVar17 = gettext();\n                *(undefined1 **)((int)puVar30 + -0x10) = puVar29;\n                *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                *(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)((int)puVar30 + -0x1c) = local_a0;\n                *(size_t *)((int)puVar30 + -0x20) = local_98;\n                *(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;\n                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */\n                *(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;\n                gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));\n                if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }\n              }" { (expression_statement "*(Symbol_table **)((int)puVar30 + -0x10) = local_94;" (assignment_expression "*(Symbol_table **)((int)puVar30 + -0x10) = local_94" (pointer_expression "*(Symbol_table **)((int)puVar30 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar30 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(bool **)((int)puVar30 + -0x14) = &found;" (assignment_expression "*(bool **)((int)puVar30 + -0x14) = &found" (pointer_expression "*(bool **)((int)puVar30 + -0x14)" * (cast_expression "(bool **)((int)puVar30 + -0x14)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&found" & identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c6aa" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::demangled_name(*(Symbol **)((int)puVar30 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name(*(Symbol **)((int)puVar30 + -0x10));" (call_expression "demangled_name(*(Symbol **)((int)puVar30 + -0x10))" identifier (argument_list "(*(Symbol **)((int)puVar30 + -0x10))" ( (pointer_expression "*(Symbol **)((int)puVar30 + -0x10)" * (cast_expression "(Symbol **)((int)puVar30 + -0x10)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;))) (expression_statement "puVar29 = _found;" (assignment_expression "puVar29 = _found" identifier = identifier) ;) (expression_statement "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4;" (assignment_expression "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671e4" (pointer_expression "*(undefined ***)((int)puVar30 + -0x14)" * (cast_expression "(undefined ***)((int)puVar30 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x671e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c6bf" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)((int)puVar30 + -0x10) = puVar29;" (assignment_expression "*(undefined1 **)((int)puVar30 + -0x10) = puVar29" (pointer_expression "*(undefined1 **)((int)puVar30 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar30 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)((int)puVar30 + -0x18) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)((int)puVar30 + -0x18)" * (cast_expression "(int *)((int)puVar30 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)((int)puVar30 + -0x1c) = local_a0;" (assignment_expression "*(uint *)((int)puVar30 + -0x1c) = local_a0" (pointer_expression "*(uint *)((int)puVar30 + -0x1c)" * (cast_expression "(uint *)((int)puVar30 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x1c)" ( (binary_expression "(int)puVar30 + -0x1c" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)((int)puVar30 + -0x20) = local_98;" (assignment_expression "*(size_t *)((int)puVar30 + -0x20) = local_98" (pointer_expression "*(size_t *)((int)puVar30 + -0x20)" * (cast_expression "(size_t *)((int)puVar30 + -0x20)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x20)" ( (binary_expression "(int)puVar30 + -0x20" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo;" (assignment_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x24) = relinfo" (pointer_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x24)" * (call_expression "(Relocate_info<64,_false> **)((int)puVar30 + -0x24)" (parenthesized_expression "(Relocate_info<64,_false> **)" ( (comma_expression "Relocate_info<64,_false> **" (binary_expression "Relocate_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x24)" ( (binary_expression "(int)puVar30 + -0x24" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x28) = 0x8c6e2" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x28)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x28)" ( (binary_expression "(int)puVar30 + -0x28" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10));" (comma_expression "gold_error_at_location<64,_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10))" (binary_expression "gold_error_at_location<64" identifier < number_literal) , (binary_expression "_false>\n                          (*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10))" identifier > (parenthesized_expression "(*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10))" ( (comma_expression "*(gold **)((int)puVar30 + -0x24),\n                           *(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(gold **)((int)puVar30 + -0x24)" * (cast_expression "(gold **)((int)puVar30 + -0x24)" ( (type_descriptor "gold **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x24)" ( (binary_expression "(int)puVar30 + -0x24" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x20),\n                           *(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(Relocate_info<64,_false> **)((int)puVar30 + -0x20)" * (call_expression "(Relocate_info<64,_false> **)((int)puVar30 + -0x20)" (parenthesized_expression "(Relocate_info<64,_false> **)" ( (comma_expression "Relocate_info<64,_false> **" (binary_expression "Relocate_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x20)" ( (binary_expression "(int)puVar30 + -0x20" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(size_t *)((int)puVar30 + -0x1c),*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(size_t *)((int)puVar30 + -0x1c)" * (cast_expression "(size_t *)((int)puVar30 + -0x1c)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x1c)" ( (binary_expression "(int)puVar30 + -0x1c" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(off_t *)((int)puVar30 + -0x18),\n                           *(char **)((int)puVar30 + -0x10)" (pointer_expression "*(off_t *)((int)puVar30 + -0x18)" * (cast_expression "(off_t *)((int)puVar30 + -0x18)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))) )))) ;)) (if_statement "if (_found != local_2c) {\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }" if (parenthesized_expression "(_found != local_2c)" ( (binary_expression "_found != local_2c" identifier != identifier) )) (compound_statement "{\n                  *(undefined1 **)((int)puVar30 + -0x14) = _found;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;\n                  operator_delete(*(void **)((int)puVar30 + -0x14));\n                }" { (expression_statement "*(undefined1 **)((int)puVar30 + -0x14) = _found;" (assignment_expression "*(undefined1 **)((int)puVar30 + -0x14) = _found" (pointer_expression "*(undefined1 **)((int)puVar30 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar30 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c6f8" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar30 + -0x14));" (call_expression "operator_delete(*(void **)((int)puVar30 + -0x14))" identifier (argument_list "(*(void **)((int)puVar30 + -0x14))" ( (pointer_expression "*(void **)((int)puVar30 + -0x14)" * (cast_expression "(void **)((int)puVar30 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }))) (expression_statement "*(bool **)((int)puVar30 + -8) = &is_ordinary;" (assignment_expression "*(bool **)((int)puVar30 + -8) = &is_ordinary" (pointer_expression "*(bool **)((int)puVar30 + -8)" * (cast_expression "(bool **)((int)puVar30 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&is_ordinary" & identifier)) ;) (expression_statement "*(Elf_Addr **)((int)puVar30 + -0xc) = &value;" (assignment_expression "*(Elf_Addr **)((int)puVar30 + -0xc) = &value" (pointer_expression "*(Elf_Addr **)((int)puVar30 + -0xc)" * (cast_expression "(Elf_Addr **)((int)puVar30 + -0xc)" ( (type_descriptor "Elf_Addr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&value" & identifier)) ;) (expression_statement "*(uint *)((int)puVar30 + -0x10) = local_ac;" (assignment_expression "*(uint *)((int)puVar30 + -0x10) = local_ac" (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c715;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c715" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "uVar24 = gold::" (assignment_expression "uVar24 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8));" (comma_expression "Sized_relobj_file<64,_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8))" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8))" identifier > (ERROR "::" : :) (call_expression "symbol_section_and_value\n                                 (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8))" identifier (argument_list "(*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                  *(uint *)((int)puVar30 + -0x10),*(Address **)((int)puVar30 + -0xc)\n                                  ,*(bool **)((int)puVar30 + -8))" ( (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Address **)((int)puVar30 + -0xc)" * (cast_expression "(Address **)((int)puVar30 + -0xc)" ( (type_descriptor "Address **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(bool **)((int)puVar30 + -8)" * (cast_expression "(bool **)((int)puVar30 + -8)" ( (type_descriptor "bool **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (uVar24 != 0) {\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }" if (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) (compound_statement "{\n                *(uint **)((int)puVar30 + -0xc) = &key_symndx;\n                *(uint *)((int)puVar30 + -0x10) = uVar24;\n                *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                *(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;\n                pRVar20 = gold::Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );\n                if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n                if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }\n              }" { (expression_statement "*(uint **)((int)puVar30 + -0xc) = &key_symndx;" (assignment_expression "*(uint **)((int)puVar30 + -0xc) = &key_symndx" (pointer_expression "*(uint **)((int)puVar30 + -0xc)" * (cast_expression "(uint **)((int)puVar30 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&key_symndx" & identifier)) ;) (expression_statement "*(uint *)((int)puVar30 + -0x10) = uVar24;" (assignment_expression "*(uint *)((int)puVar30 + -0x10) = uVar24" (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c824;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c824" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "pRVar20 = gold::" (assignment_expression "pRVar20 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    );" (comma_expression "Sized_relobj_file<64,_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    )" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    )" identifier > (ERROR "::" : :) (call_expression "find_kept_section_object\n                                    (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    )" identifier (argument_list "(*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                     *(uint *)((int)puVar30 + -0x10),*(uint **)((int)puVar30 + -0xc)\n                                    )" ( (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint **)((int)puVar30 + -0xc)" * (cast_expression "(uint **)((int)puVar30 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (key_symndx != 0) {\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }" if (parenthesized_expression "(key_symndx != 0)" ( (binary_expression "key_symndx != 0" identifier != number_literal) )) (compound_statement "{\n                  *(uint *)((int)puVar30 + -0x10) = key_symndx;\n                  *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;\n                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;\n                  pcVar22 = gold::Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;\n                  uVar17 = gettext();\n                  *(char **)((int)puVar30 + -0x10) = pcVar22;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }" { (expression_statement "*(uint *)((int)puVar30 + -0x10) = key_symndx;" (assignment_expression "*(uint *)((int)puVar30 + -0x10) = key_symndx" (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14) = pSVar8" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8cce0" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "pcVar22 = gold::" (assignment_expression "pcVar22 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10));" (comma_expression "Sized_relobj_file<64,_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10))" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10))" identifier > (ERROR "::" : :) (call_expression "get_symbol_name\n                                      (*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10))" identifier (argument_list "(*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14),\n                                       *(uint *)((int)puVar30 + -0x10))" ( (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar30 + -0x10)" * (cast_expression "(uint *)((int)puVar30 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf;" (assignment_expression "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671cf" (pointer_expression "*(undefined ***)((int)puVar30 + -0x14)" * (cast_expression "(undefined ***)((int)puVar30 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x671cf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8ccf6" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)((int)puVar30 + -0x10) = pcVar22;" (assignment_expression "*(char **)((int)puVar30 + -0x10) = pcVar22" (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8cd05" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_info(*(char **)((int)puVar30 + -0x14));" statement_identifier : (ERROR ":" :) (expression_statement "gold_info(*(char **)((int)puVar30 + -0x14));" (call_expression "gold_info(*(char **)((int)puVar30 + -0x14))" identifier (argument_list "(*(char **)((int)puVar30 + -0x14))" ( (pointer_expression "*(char **)((int)puVar30 + -0x14)" * (cast_expression "(char **)((int)puVar30 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (if_statement "if (pRVar20 != (Relobj *)0x0) {\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }" if (parenthesized_expression "(pRVar20 != (Relobj *)0x0)" ( (binary_expression "pRVar20 != (Relobj *)0x0" identifier != (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;\n                  *(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;\n                  uVar17 = gettext();\n                  *(pointer *)((int)puVar30 + -0x10) = pcVar9;\n                  *(undefined4 *)((int)puVar30 + -0x14) = uVar17;\n                  *(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;\n                  gold::gold_info(*(char **)((int)puVar30 + -0x14));\n                }" { (expression_statement "pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p;" (assignment_expression "pcVar9 = (pRVar20->super_Object).name_._M_dataplus._M_p" identifier = (field_expression "(pRVar20->super_Object).name_._M_dataplus._M_p" (field_expression "(pRVar20->super_Object).name_._M_dataplus" (field_expression "(pRVar20->super_Object).name_" (parenthesized_expression "(pRVar20->super_Object)" ( (field_expression "pRVar20->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7;" (assignment_expression "*(undefined ***)((int)puVar30 + -0x14) = local_90 + -0x671c7" (pointer_expression "*(undefined ***)((int)puVar30 + -0x14)" * (cast_expression "(undefined ***)((int)puVar30 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x671c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c856;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c856" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(pointer *)((int)puVar30 + -0x10) = pcVar9;" (assignment_expression "*(pointer *)((int)puVar30 + -0x10) = pcVar9" (pointer_expression "*(pointer *)((int)puVar30 + -0x10)" * (cast_expression "(pointer *)((int)puVar30 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c85f" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::gold_info(*(char **)((int)puVar30 + -0x14));" statement_identifier : (ERROR ":" :) (expression_statement "gold_info(*(char **)((int)puVar30 + -0x14));" (call_expression "gold_info(*(char **)((int)puVar30 + -0x14))" identifier (argument_list "(*(char **)((int)puVar30 + -0x14))" ( (pointer_expression "*(char **)((int)puVar30 + -0x14)" * (cast_expression "(char **)((int)puVar30 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) })) (expression_statement "local_a8 = 3;" (assignment_expression "local_a8 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" else (compound_statement "{\nLAB_0008c74a:\n              local_a8 = 2;\n            }" { (labeled_statement "LAB_0008c74a:\n              local_a8 = 2;" statement_identifier : (expression_statement "local_a8 = 2;" (assignment_expression "local_a8 = 2" identifier = number_literal) ;)) }))) (expression_statement "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;" (assignment_expression "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0" (field_expression "symval2.u_.merged_symbol_value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = (parenthesized_expression "(Merged_symbol_value<64> *)0x0" ( (binary_expression "Merged_symbol_value<64> *)0x0" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "symval2.u_.value._4_4_ = 0;" (assignment_expression "symval2.u_.value._4_4_ = 0" (field_expression "symval2.u_.value._4_4_" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) }))) (expression_statement "puVar31 = (undefined1 *)((int)puVar30 + -4);" (assignment_expression "puVar31 = (undefined1 *)((int)puVar30 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar30 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -4)" ( (binary_expression "(int)puVar30 + -4" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar29 = (undefined1 *)((int)puVar30 + -4);" (assignment_expression "puVar29 = (undefined1 *)((int)puVar30 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar30 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -4)" ( (binary_expression "(int)puVar30 + -4" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (symval2.output_symtab_index_ != 0) {\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }" if (parenthesized_expression "(symval2.output_symtab_index_ != 0)" ( (binary_expression "symval2.output_symtab_index_ != 0" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n            *(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;\n            *(undefined4 *)((int)puVar30 + -0x10) = 0x716;\n            *(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */\n            *(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;\n            gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));\n          }" { (expression_statement "*(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)((int)puVar30 + -0xc) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)((int)puVar30 + -0xc)" * (cast_expression "(undefined ***)((int)puVar30 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65e18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x10) = 0x716;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x10) = 0x716" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar30 + -0x14) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar30 + -0x14)" * (cast_expression "(int *)((int)puVar30 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92;" (assignment_expression "*(undefined **)((int)puVar30 + -0x18) = &UNK_0008cd92" (pointer_expression "*(undefined **)((int)puVar30 + -0x18)" * (cast_expression "(undefined **)((int)puVar30 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0008cd92" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc));" (call_expression "do_gold_unreachable\n                      (*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc))" identifier (argument_list "(*(char **)((int)puVar30 + -0x14),*(int *)((int)puVar30 + -0x10),\n                       *(char **)((int)puVar30 + -0xc))" ( (pointer_expression "*(char **)((int)puVar30 + -0x14)" * (cast_expression "(char **)((int)puVar30 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -0xc)" * (cast_expression "(char **)((int)puVar30 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "symval2.output_symtab_index_ = 0xffffffff;" (assignment_expression "symval2.output_symtab_index_ = 0xffffffff" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2) {\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)name._M_dataplus._M_p != &name.field_2" (binary_expression "allocator<char>_>_9\n               *)name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&name.field_2" & (field_expression "name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n            *(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;\n            *(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;\n            operator_delete(*(void **)((int)puVar30 + -0x14));\n          }" { (expression_statement "*(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p;" (assignment_expression "*(pointer *)((int)puVar30 + -0x14) = name._M_dataplus._M_p" (pointer_expression "*(pointer *)((int)puVar30 + -0x14)" * (cast_expression "(pointer *)((int)puVar30 + -0x14)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c568;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x18) = 0x8c568" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x18)" ( (binary_expression "(int)puVar30 + -0x18" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar30 + -0x14));" (call_expression "operator_delete(*(void **)((int)puVar30 + -0x14))" identifier (argument_list "(*(void **)((int)puVar30 + -0x14))" ( (pointer_expression "*(void **)((int)puVar30 + -0x14)" * (cast_expression "(void **)((int)puVar30 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_b8 = &symval2;" (assignment_expression "local_b8 = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (expression_statement "local_a4 = &symval2;" (assignment_expression "local_a4 = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (if_statement "if (-1 < (int)local_a0) goto LAB_0008c029;" if (parenthesized_expression "(-1 < (int)local_a0)" ( (binary_expression "-1 < (int)local_a0" number_literal < (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0008c029;" goto statement_identifier ;)) (labeled_statement "LAB_0008c588:\n          puVar16 = (uchar *)0x0;" statement_identifier : (expression_statement "puVar16 = (uchar *)0x0;" (assignment_expression "puVar16 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puVar30 = (undefined4 *)puVar31;" (assignment_expression "puVar30 = (undefined4 *)puVar31" identifier = (cast_expression "(undefined4 *)puVar31" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }" else (compound_statement "{\n          if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }\n          symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;\n          symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;\n          bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;\n          if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n          if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }\n          local_9c = &symval;\n          local_a4 = &symval;\nLAB_0008bfef:\n          symval2.output_symtab_index_ = 0;\n          local_b8 = &symval2;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2._8_4_ = 0x80000000;\n          symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;\n          symval2.u_.value._4_4_ = 0;\n          puVar29 = (undefined1 *)puVar30;\n          puVar31 = (undefined1 *)puVar30;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          puVar31 = puVar29;\n          if (view_size <= local_a0) goto LAB_0008c588;\n          puVar16 = view + local_a0;\n          puVar30 = (undefined4 *)puVar29;\n        }" { (if_statement "if ((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)) {\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }\n          else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }" if (parenthesized_expression "((reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0))" ( (binary_expression "(reloc_symbol_changes == (Reloc_symbol_changes *)0x0) ||\n             (local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)" (parenthesized_expression "(reloc_symbol_changes == (Reloc_symbol_changes *)0x0)" ( (binary_expression "reloc_symbol_changes == (Reloc_symbol_changes *)0x0" identifier == (cast_expression "(Reloc_symbol_changes *)0x0" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0)" ( (comma_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98], local_94 == (Symbol_table *)0x0" (subscript_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start[local_98]" (field_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                         _M_start" (field_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_94 = (Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                         (reloc_symbol_changes->vec_).\n                         super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(reloc_symbol_changes->vec_).\n                         super__Vector_base" (parenthesized_expression "(reloc_symbol_changes->vec_)" ( (field_expression "reloc_symbol_changes->vec_" 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) [ identifier ]) , (binary_expression "local_94 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;\n            uVar24 = local_ac - local_b0->local_symbol_count_;\n            local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;\n            if ((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            local_94 = (Symbol_table *)ppSVar5[uVar24];\n            if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;\n            if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;\n            *(Symbol_table **)((int)puVar30 + -0xc) = local_94;\n            *(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;\n                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */\n            *(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;\n            local_94 = (Symbol_table *)\n                       gold::Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\nLAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }\n            symval.output_symtab_index_ = uVar19;\n          }" { (if_statement "if (local_ac < local_b0->local_symbol_count_) {\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" if (parenthesized_expression "(local_ac < local_b0->local_symbol_count_)" ( (binary_expression "local_ac < local_b0->local_symbol_count_" identifier < (field_expression "local_b0->local_symbol_count_" identifier -> field_identifier)) )) (compound_statement "{\nLAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x17f;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" { (labeled_statement "LAB_0008cd98:\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;" statement_identifier : (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e11" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65e11" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27;" (assignment_expression "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cb27" (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cdb9" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start;" (field_expression "ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start" (field_expression "ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar5 = (local_b0->symbols_).\n                      super__Vector_base<gold" identifier = (binary_expression "(local_b0->symbols_).\n                      super__Vector_base<gold" (field_expression "(local_b0->symbols_).\n                      super__Vector_base" (parenthesized_expression "(local_b0->symbols_)" ( (field_expression "local_b0->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 "uVar24 = local_ac - local_b0->local_symbol_count_;" (assignment_expression "uVar24 = local_ac - local_b0->local_symbol_count_" identifier = (binary_expression "local_ac - local_b0->local_symbol_count_" identifier - (field_expression "local_b0->local_symbol_count_" identifier -> field_identifier))) ;) (expression_statement "local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish;" (field_expression "local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish" (field_expression "local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_94 = (Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold" identifier = (binary_expression "(Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base<gold" (cast_expression "(Symbol_table *)\n                       (local_b0->symbols_).\n                       super__Vector_base" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_b0->symbols_).\n                       super__Vector_base" (parenthesized_expression "(local_b0->symbols_)" ( (field_expression "local_b0->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_94 - (int)ppSVar5 >> 2) <= uVar24) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" if (parenthesized_expression "((uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24)" ( (binary_expression "(uint)((int)local_94 - (int)ppSVar5 >> 2) <= uVar24" (call_expression "(uint)((int)local_94 - (int)ppSVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_94 - (int)ppSVar5 >> 2)" ( (binary_expression "(int)local_94 - (int)ppSVar5 >> 2" (binary_expression "(int)local_94 - (int)ppSVar5" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppSVar5" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" { (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65dcc" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65dcc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cdfb" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_94 = (Symbol_table *)ppSVar5[uVar24];" (assignment_expression "local_94 = (Symbol_table *)ppSVar5[uVar24]" identifier = (cast_expression "(Symbol_table *)ppSVar5[uVar24]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppSVar5[uVar24]" identifier [ identifier ]))) ;) (if_statement "if (local_94 == (Symbol_table *)0x0) goto LAB_0008cd98;" if (parenthesized_expression "(local_94 == (Symbol_table *)0x0)" ( (binary_expression "local_94 == (Symbol_table *)0x0" identifier == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0008cd98;" goto statement_identifier ;)) (if_statement "if (((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;" if (parenthesized_expression "(((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0)" ( (binary_expression "((local_94->table_)._M_h._M_bucket_count & 0x100000) == 0" (parenthesized_expression "((local_94->table_)._M_h._M_bucket_count & 0x100000)" ( (binary_expression "(local_94->table_)._M_h._M_bucket_count & 0x100000" (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf67;" goto statement_identifier ;)) (expression_statement "*(Symbol_table **)((int)puVar30 + -0xc) = local_94;" (assignment_expression "*(Symbol_table **)((int)puVar30 + -0xc) = local_94" (pointer_expression "*(Symbol_table **)((int)puVar30 + -0xc)" * (cast_expression "(Symbol_table **)((int)puVar30 + -0xc)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab;" (assignment_expression "*(Symbol_table **)((int)puVar30 + -0x10) = relinfo->symtab" (pointer_expression "*(Symbol_table **)((int)puVar30 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar30 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->symtab" identifier -> field_identifier)) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c2bd" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "local_94 = (Symbol_table *)\n                       gold::" (assignment_expression "local_94 = (Symbol_table *)\n                       gold" identifier = (cast_expression "(Symbol_table *)\n                       gold" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "Symbol_table::resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));" statement_identifier : (ERROR ":" :) (expression_statement "resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc));" (call_expression "resolve_forwards\n                                 (*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc))" identifier (argument_list "(*(Symbol_table **)((int)puVar30 + -0x10),\n                                  *(Symbol **)((int)puVar30 + -0xc))" ( (pointer_expression "*(Symbol_table **)((int)puVar30 + -0x10)" * (cast_expression "(Symbol_table **)((int)puVar30 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Symbol **)((int)puVar30 + -0xc)" * (cast_expression "(Symbol **)((int)puVar30 + -0xc)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "uVar19 = local_94->output_count_;" (assignment_expression "uVar19 = local_94->output_count_" identifier = (field_expression "local_94->output_count_" identifier -> field_identifier)) ;) (expression_statement "uVar24 = uVar19 - 1;" (assignment_expression "uVar24 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (if_statement "if (0xfffffffd < uVar24) {\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }" if (parenthesized_expression "(0xfffffffd < uVar24)" ( (binary_expression "0xfffffffd < uVar24" number_literal < identifier) )) (compound_statement "{\n              if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }\n              goto LAB_0008bf7c;\n            }" { (if_statement "if (symval.output_symtab_index_ != 0) {\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }" if (parenthesized_expression "(symval.output_symtab_index_ != 0)" ( (binary_expression "symval.output_symtab_index_ != 0" (field_expression "symval.output_symtab_index_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n                *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)((int)puVar30 + -0xc) = 0x716;\n                *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n                *(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;\n                gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));\n              }" { (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65e18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd;" (assignment_expression "*(undefined **)((int)puVar30 + -0x14) = &UNK_0008c2fd" (pointer_expression "*(undefined **)((int)puVar30 + -0x14)" * (cast_expression "(undefined **)((int)puVar30 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0008c2fd" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n                          (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                           *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (goto_statement "goto LAB_0008bf7c;" goto statement_identifier ;) })) (if_statement "if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" if (parenthesized_expression "((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe))" ( (binary_expression "(symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)" (parenthesized_expression "(symval.output_symtab_index_ != 0)" ( (binary_expression "symval.output_symtab_index_ != 0" (field_expression "symval.output_symtab_index_" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(symval.output_symtab_index_ != 0xfffffffe)" ( (binary_expression "symval.output_symtab_index_ != 0xfffffffe" (field_expression "symval.output_symtab_index_" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70c;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" { (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65d5b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8ce1c" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (labeled_statement "LAB_0008c350:\n            if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" statement_identifier : (if_statement "if (uVar24 == 0xfffffffd) {\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" if (parenthesized_expression "(uVar24 == 0xfffffffd)" ( (binary_expression "uVar24 == 0xfffffffd" identifier == number_literal) )) (compound_statement "{\n              *(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)((int)puVar30 + -0xc) = 0x70d;\n              *(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;\n              gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));\n            }" { (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65d5b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar30 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar30 + -0x10)" * (cast_expression "(int *)((int)puVar30 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8ce3d" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n                        (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n                         *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) }))) (expression_statement "symval.output_symtab_index_ = uVar19;" (assignment_expression "symval.output_symtab_index_ = uVar19" (field_expression "symval.output_symtab_index_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }" else (compound_statement "{\nLAB_0008bf67:\n            uVar19 = local_94->output_count_;\n            uVar24 = uVar19 - 1;\n            if (uVar24 < 0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;\n          }" { (labeled_statement "LAB_0008bf67:\n            uVar19 = local_94->output_count_;" statement_identifier : (expression_statement "uVar19 = local_94->output_count_;" (assignment_expression "uVar19 = local_94->output_count_" identifier = (field_expression "local_94->output_count_" identifier -> field_identifier)) ;)) (expression_statement "uVar24 = uVar19 - 1;" (assignment_expression "uVar24 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (if_statement "if (uVar24 < 0xfffffffe) goto LAB_0008c350;" if (parenthesized_expression "(uVar24 < 0xfffffffe)" ( (binary_expression "uVar24 < 0xfffffffe" identifier < number_literal) )) (goto_statement "goto LAB_0008c350;" goto statement_identifier ;)) (labeled_statement "LAB_0008bf7c:\n            symval.output_symtab_index_ = 0xffffffff;" statement_identifier : (expression_statement "symval.output_symtab_index_ = 0xffffffff;" (assignment_expression "symval.output_symtab_index_ = 0xffffffff" (field_expression "symval.output_symtab_index_" identifier . field_identifier) = number_literal) ;)) }))) (expression_statement "symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count;" (assignment_expression "symval.u_.merged_symbol_value =\n               (Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count" (field_expression "symval.u_.merged_symbol_value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (field_expression "(Merged_symbol_value<64> *)(local_94->table_)._M_h._M_element_count" (field_expression "(Merged_symbol_value<64> *)(local_94->table_)._M_h" (call_expression "(Merged_symbol_value<64> *)(local_94->table_)" (parenthesized_expression "(Merged_symbol_value<64> *)" ( (binary_expression "Merged_symbol_value<64> *" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor;" (assignment_expression "symval.u_.value._4_4_ = (local_94->table_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "symval.u_.value._4_4_" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) . field_identifier) = (field_expression "(local_94->table_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(local_94->table_)._M_h._M_rehash_policy" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf;" (assignment_expression "bVar26 = (byte)(local_94->table_)._M_h._M_bucket_count & 0xf" identifier = (binary_expression "(byte)(local_94->table_)._M_h._M_bucket_count & 0xf" (field_expression "(byte)(local_94->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_94->table_)._M_h" (call_expression "(byte)(local_94->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) & number_literal)) ;) (if_statement "if (bVar26 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" if (parenthesized_expression "(bVar26 == 6)" ( (binary_expression "bVar26 == 6" identifier == number_literal) )) (compound_statement "{\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }" { (expression_statement "symval._8_4_ = symval._8_4_ | 0x20000000;" (assignment_expression "symval._8_4_ = symval._8_4_ | 0x20000000" (field_expression "symval._8_4_" identifier . field_identifier) = (binary_expression "symval._8_4_ | 0x20000000" (field_expression "symval._8_4_" identifier . field_identifier) | number_literal)) ;) }) (else_clause "else if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" else (if_statement "if (bVar26 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" if (parenthesized_expression "(bVar26 == 10)" ( (binary_expression "bVar26 == 10" identifier == number_literal) )) (compound_statement "{\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" { (expression_statement "symval._8_4_ = symval._8_4_ | 0x40000000;" (assignment_expression "symval._8_4_ = symval._8_4_ | 0x40000000" (field_expression "symval._8_4_" identifier . field_identifier) = (binary_expression "symval._8_4_ | 0x40000000" (field_expression "symval._8_4_" identifier . field_identifier) | number_literal)) ;) })))) (expression_statement "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((char)bVar26 < '\0') {\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }" if (parenthesized_expression "((char)bVar26 < '\0')" ( (binary_expression "(char)bVar26 < '\0'" (cast_expression "(char)bVar26" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            sVar12 = (local_94->table_)._M_h._M_bucket_count;\n            if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;\n          }" { (expression_statement "sVar12 = (local_94->table_)._M_h._M_bucket_count;" (assignment_expression "sVar12 = (local_94->table_)._M_h._M_bucket_count" identifier = (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((sVar12 & 0x70000) == 0) {\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;" if (parenthesized_expression "((sVar12 & 0x70000) == 0)" ( (binary_expression "(sVar12 & 0x70000) == 0" (parenthesized_expression "(sVar12 & 0x70000)" ( (binary_expression "sVar12 & 0x70000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }\n            }" { (if_statement "if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }" if (parenthesized_expression "((((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0))" ( (binary_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                 ((bVar26 & 0x20) != 0)" (parenthesized_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                   ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->offset_" & (field_expression "local_94->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) && (parenthesized_expression "((bVar26 & 0x20) != 0)" ( (binary_expression "(bVar26 & 0x20) != 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &symval;\n                local_9c = local_a4;\n                goto LAB_0008c478;\n              }" { (labeled_statement "LAB_0008cc18:\n                local_b4 = 0;" statement_identifier : (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;)) (expression_statement "local_a4 = &symval;" (assignment_expression "local_a4 = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (expression_statement "local_9c = local_a4;" (assignment_expression "local_9c = local_a4" identifier = identifier) ;) (goto_statement "goto LAB_0008c478;" goto statement_identifier ;) })) }) (else_clause "else if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;" else (if_statement "if ((sVar12 & 0x70000) == 0x40000) goto LAB_0008cc18;" if (parenthesized_expression "((sVar12 & 0x70000) == 0x40000)" ( (binary_expression "(sVar12 & 0x70000) == 0x40000" (parenthesized_expression "(sVar12 & 0x70000)" ( (binary_expression "sVar12 & 0x70000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008cc18;" goto statement_identifier ;)))) })) (expression_statement "local_9c = &symval;" (assignment_expression "local_9c = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (expression_statement "local_a4 = &symval;" (assignment_expression "local_a4 = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (labeled_statement "LAB_0008bfef:\n          symval2.output_symtab_index_ = 0;" statement_identifier : (expression_statement "symval2.output_symtab_index_ = 0;" (assignment_expression "symval2.output_symtab_index_ = 0" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) = number_literal) ;)) (expression_statement "local_b8 = &symval2;" (assignment_expression "local_b8 = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (expression_statement "symval2.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval2.output_dynsym_index_ = 0xffffffff" (field_expression "symval2.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2._8_4_ = 0x80000000;" (assignment_expression "symval2._8_4_ = 0x80000000" (field_expression "symval2._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0;" (assignment_expression "symval2.u_.merged_symbol_value = (Merged_symbol_value<64> *)0x0" (field_expression "symval2.u_.merged_symbol_value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = (parenthesized_expression "(Merged_symbol_value<64> *)0x0" ( (binary_expression "Merged_symbol_value<64> *)0x0" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "symval2.u_.value._4_4_ = 0;" (assignment_expression "symval2.u_.value._4_4_ = 0" (field_expression "symval2.u_.value._4_4_" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "puVar29 = (undefined1 *)puVar30;" (assignment_expression "puVar29 = (undefined1 *)puVar30" identifier = (cast_expression "(undefined1 *)puVar30" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar31 = (undefined1 *)puVar30;" (assignment_expression "puVar31 = (undefined1 *)puVar30" identifier = (cast_expression "(undefined1 *)puVar30" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)local_a0 < 0) goto LAB_0008c588;" if (parenthesized_expression "((int)local_a0 < 0)" ( (binary_expression "(int)local_a0 < 0" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0008c588;" goto statement_identifier ;)) (labeled_statement "LAB_0008c029:\n          puVar31 = puVar29;" statement_identifier : (expression_statement "puVar31 = puVar29;" (assignment_expression "puVar31 = puVar29" identifier = identifier) ;)) (if_statement "if (view_size <= local_a0) goto LAB_0008c588;" if (parenthesized_expression "(view_size <= local_a0)" ( (binary_expression "view_size <= local_a0" identifier <= identifier) )) (goto_statement "goto LAB_0008c588;" goto statement_identifier ;)) (expression_statement "puVar16 = view + local_a0;" (assignment_expression "puVar16 = view + local_a0" identifier = (binary_expression "view + local_a0" identifier + identifier)) ;) (expression_statement "puVar30 = (undefined4 *)puVar29;" (assignment_expression "puVar30 = (undefined4 *)puVar29" identifier = (cast_expression "(undefined4 *)puVar29" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "puVar30[-1] = view_size;" (assignment_expression "puVar30[-1] = view_size" (subscript_expression "puVar30[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar11 = local_c4 + (longlong)(int)local_a0;" (assignment_expression "lVar11 = local_c4 + (longlong)(int)local_a0" identifier = (binary_expression "local_c4 + (longlong)(int)local_a0" identifier + (cast_expression "(longlong)(int)local_a0" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "*(longlong *)(puVar30 + -3) = lVar11;" (assignment_expression "*(longlong *)(puVar30 + -3) = lVar11" (pointer_expression "*(longlong *)(puVar30 + -3)" * (cast_expression "(longlong *)(puVar30 + -3)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -3)" ( (binary_expression "puVar30 + -3" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar30[-4] = puVar16;" (assignment_expression "puVar30[-4] = puVar16" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-5] = local_a4;" (assignment_expression "puVar30[-5] = local_a4" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-6] = local_94;" (assignment_expression "puVar30[-6] = local_94" (subscript_expression "puVar30[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-7] = prelocs;" (assignment_expression "puVar30[-7] = prelocs" (subscript_expression "puVar30[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-8] = local_98;" (assignment_expression "puVar30[-8] = local_98" (subscript_expression "puVar30[-8]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar30[-9] = 0x8c077;" (assignment_expression "puVar30[-9] = 0x8c077" (subscript_expression "puVar30[-9]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar13 = Relocate::" (assignment_expression "bVar13 = Relocate" identifier = identifier) : :) (expression_statement "relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);" (call_expression "relocate((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3])" identifier (argument_list "((Relocate *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3])" ( (cast_expression "(Relocate *)puVar30[-8]" ( (type_descriptor "Relocate *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-8]" identifier [ number_literal ])) , (subscript_expression "(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4]" (parenthesized_expression "(Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]);\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)" ( (comma_expression "Relocate_info<64,_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3])" (binary_expression "Relocate_info<64" identifier < number_literal) , (comma_expression "_false> *)puVar30[-7],\n                                    puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3])" (binary_expression "_false> *)puVar30[-7]" identifier > (pointer_expression "*)puVar30[-7]" * (ERROR ")" )) (subscript_expression "puVar30[-7]" identifier [ number_literal ]))) , (comma_expression "puVar30[-6],(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3])" (subscript_expression "puVar30[-6]" identifier [ number_literal ]) , (parenthesized_expression "(Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3])" ( (comma_expression "Target_x86_64<64> *)puVar30[-5],\n                                    (Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]" (binary_expression "Target_x86_64<64> *)puVar30[-5]" (binary_expression "Target_x86_64<64" identifier < number_literal) > (pointer_expression "*)puVar30[-5]" * (ERROR ")" )) (subscript_expression "puVar30[-5]" identifier [ number_literal ]))) , (comma_expression "(Output_section *)puVar30[-4],puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]" (cast_expression "(Output_section *)puVar30[-4]" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ])) , (comma_expression "puVar30[-3],(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) , (comma_expression "(uchar *)puVar30[-2],\n                                    (Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]" (cast_expression "(uchar *)puVar30[-2]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-2]" identifier [ number_literal ])) , (comma_expression "(Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4],puVar30[-3]" (subscript_expression "(Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)puVar30[-4]" (parenthesized_expression "(Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13) {\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }\n        puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *)" ( (ERROR "Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]);\n        pSVar35 = local_94;\n        unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13)" (comma_expression "Sized_symbol<64> *)puVar30[-1],(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4])" (binary_expression "Sized_symbol<64> *)puVar30[-1]" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*)puVar30[-1]" * (ERROR ")" )) (subscript_expression "puVar30[-1]" identifier [ number_literal ]))) , (parenthesized_expression "(Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4])" ( (comma_expression "Symbol_value<64> *)*puVar30,\n                                    (uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]" (binary_expression "Symbol_value<64> *)*puVar30" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)*puVar30" * (ERROR ")" )) (pointer_expression "*puVar30" * identifier))) , (comma_expression "(uchar *)puVar30[1],*(Elf_Addr *)(puVar30 + 2),puVar30[4]" (cast_expression "(uchar *)puVar30[1]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[1]" identifier [ number_literal ])) , (comma_expression "*(Elf_Addr *)(puVar30 + 2),puVar30[4]" (pointer_expression "*(Elf_Addr *)(puVar30 + 2)" * (cast_expression "(Elf_Addr *)(puVar30 + 2)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 2)" ( (binary_expression "puVar30 + 2" identifier + number_literal) )))) , (subscript_expression "puVar30[4]" identifier [ number_literal ])))) ))) ; (assignment_expression "pSVar35 = local_94" identifier = identifier) ; (call_expression "unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20);\n        if (bVar13)" (assignment_expression "unaff_EDI = (Symbol_table *)((ulonglong)lVar11 >> 0x20)" identifier = (cast_expression "(Symbol_table *)((ulonglong)lVar11 >> 0x20)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)lVar11 >> 0x20)" ( (binary_expression "(ulonglong)lVar11 >> 0x20" (cast_expression "(ulonglong)lVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) (ERROR ";\n        if" ; if) (argument_list "(bVar13)" ( identifier )))) (compound_statement "{\n          if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }\n        }" { (if_statement "if (puVar16 == (uchar *)0x0) {\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }" if (parenthesized_expression "(puVar16 == (uchar *)0x0)" ( (binary_expression "puVar16 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar30[-4] = (int)local_90 + -0x19ca7f;\n            puVar30[-5] = 0x8c787;\n            uVar17 = gettext();\n            unaff_EDI = (Symbol_table *)puVar30[-4];\n            puVar30[-3] = local_a0;\n            puVar30[-4] = uVar17;\n            puVar30[-5] = (int)local_a0 >> 0x1f;\n            puVar30[-6] = local_a0;\n            puVar30[-7] = local_98;\n            puVar30[-8] = relinfo;\n                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */\n            puVar30[-9] = 0x8c7a6;\n            gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);\n          }" { (expression_statement "puVar30[-4] = (int)local_90 + -0x19ca7f;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x19ca7f" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x19ca7f" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar30[-5] = 0x8c787;" (assignment_expression "puVar30[-5] = 0x8c787" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_EDI = (Symbol_table *)puVar30[-4];" (assignment_expression "unaff_EDI = (Symbol_table *)puVar30[-4]" identifier = (cast_expression "(Symbol_table *)puVar30[-4]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ]))) ;) (expression_statement "puVar30[-3] = local_a0;" (assignment_expression "puVar30[-3] = local_a0" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-4] = uVar17;" (assignment_expression "puVar30[-4] = uVar17" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-5] = (int)local_a0 >> 0x1f;" (assignment_expression "puVar30[-5] = (int)local_a0 >> 0x1f" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "puVar30[-6] = local_a0;" (assignment_expression "puVar30[-6] = local_a0" (subscript_expression "puVar30[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-7] = local_98;" (assignment_expression "puVar30[-7] = local_98" (subscript_expression "puVar30[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-8] = relinfo;" (assignment_expression "puVar30[-8] = relinfo" (subscript_expression "puVar30[-8]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar30[-9] = 0x8c7a6;" (assignment_expression "puVar30[-9] = 0x8c7a6" (subscript_expression "puVar30[-9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]);" (comma_expression "gold_error_at_location<64,_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3])" (binary_expression "gold_error_at_location<64" identifier < number_literal) , (binary_expression "_false>\n                      ((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3])" identifier > (parenthesized_expression "((gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3])" ( (comma_expression "(gold *)puVar30[-8],(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3])" (cast_expression "(gold *)puVar30[-8]" ( (type_descriptor "gold *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-8]" identifier [ number_literal ])) , (parenthesized_expression "(Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3])" ( (comma_expression "Relocate_info<64,_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]" (binary_expression "Relocate_info<64" identifier < number_literal) , (comma_expression "_false> *)puVar30[-7],puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]" (binary_expression "_false> *)puVar30[-7]" identifier > (pointer_expression "*)puVar30[-7]" * (ERROR ")" )) (subscript_expression "puVar30[-7]" identifier [ number_literal ]))) , (comma_expression "puVar30[-6],\n                       *(off_t *)(puVar30 + -5),(char *)puVar30[-3]" (subscript_expression "puVar30[-6]" identifier [ number_literal ]) , (comma_expression "*(off_t *)(puVar30 + -5),(char *)puVar30[-3]" (pointer_expression "*(off_t *)(puVar30 + -5)" * (cast_expression "(off_t *)(puVar30 + -5)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -5)" ( (binary_expression "puVar30 + -5" identifier + number_literal) )))) , (cast_expression "(char *)puVar30[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-3]" identifier [ number_literal ])))))) ))) )))) ;)) }) (else_clause "else {\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }" else (compound_statement "{\n            unaff_EDI = local_94;\n            if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }\n          }" { (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if (local_94 != (Symbol_table *)0x0) {\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }" if (parenthesized_expression "(local_94 != (Symbol_table *)0x0)" ( (binary_expression "local_94 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n              bVar14 = bVar26 & 7;\n              if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }\n            }" { (expression_statement "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);" (assignment_expression "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar14 = bVar26 & 7;" (assignment_expression "bVar14 = bVar26 & 7" identifier = (binary_expression "bVar26 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar26 & 7) == 0) {\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }\n              else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }" if (parenthesized_expression "((bVar26 & 7) == 0)" ( (binary_expression "(bVar26 & 7) == 0" (parenthesized_expression "(bVar26 & 7)" ( (binary_expression "bVar26 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                ppuVar28 = local_90 + -0x15e4b4;\n                ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }\n                if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }\n                unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;\n                puVar30[-4] = local_90 + -0x67173;\n                puVar30[-5] = 0x8c163;\n                uVar18 = gettext();\n                puVar30[-2] = unaff_EDI;\n                puVar30[-3] = uVar17;\n                puVar30[-4] = uVar18;\n                puVar30[-5] = 0x8c174;\n                gold::gold_error((char *)puVar30[-4]);\n              }" { (if_statement "if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" if (parenthesized_expression "((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0))" ( (binary_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)" (parenthesized_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->offset_" & (field_expression "local_94->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) && (parenthesized_expression "(((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)" ( (binary_expression "((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0" (parenthesized_expression "((local_94->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(local_94->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar23 = bVar23 >> 4;\n                  pOVar25 = (Object *)(uint)bVar23;\n                  pSVar35 = local_94;\n                  if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" { (labeled_statement "LAB_0008cbc8:\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;" statement_identifier : (expression_statement "bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;" (assignment_expression "bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count" identifier = (field_expression "(byte)(local_94->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_94->table_)._M_h" (call_expression "(byte)(local_94->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;)) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar23)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar23)" identifier (argument_list "(local_a4._1_3_,bVar23)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar23 = bVar23 >> 4;" (assignment_expression "bVar23 = bVar23 >> 4" identifier = (binary_expression "bVar23 >> 4" identifier >> number_literal)) ;) (expression_statement "pOVar25 = (Object *)(uint)bVar23;" (assignment_expression "pOVar25 = (Object *)(uint)bVar23" identifier = (cast_expression "(Object *)(uint)bVar23" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pSVar35 = local_94;" (assignment_expression "pSVar35 = local_94" identifier = identifier) ;) (if_statement "if (bVar23 != 2) {\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" if (parenthesized_expression "(bVar23 != 2)" ( (binary_expression "bVar23 != 2" identifier != number_literal) )) (compound_statement "{\n                    if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" { (if_statement "if (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }" if (parenthesized_expression "(((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" ( (binary_expression "((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0" (parenthesized_expression "((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2)" ( (binary_expression "(uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2" (field_expression "(uint)(local_94->table_)._M_h._M_before_begin._M_nxt" (field_expression "(uint)(local_94->table_)._M_h._M_before_begin" (field_expression "(uint)(local_94->table_)._M_h" (call_expression "(uint)(local_94->table_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\n                      goto LAB_0008cad3;\n                    }" { (expression_statement "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar14 & 3;" (assignment_expression "bVar14 = bVar14 & 3" identifier = (binary_expression "bVar14 & 3" identifier & number_literal)) ;) (goto_statement "goto LAB_0008cad3;" goto statement_identifier ;) })) (expression_statement "pSVar27 = (Symbol_table *)(local_90 + 0x1f2);" (assignment_expression "pSVar27 = (Symbol_table *)(local_90 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_90 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 0x1f2)" ( (binary_expression "local_90 + 0x1f2" identifier + number_literal) )))) ;) (expression_statement "pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];" (assignment_expression "pOVar25 = (Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2]" identifier = (cast_expression "(Object *)\n                              ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2]" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2]" (field_expression "((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar27->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar27->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar27->saw_undefined_" & (field_expression "pSVar27->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ]))) ;) (if_statement "if (pOVar25 == (Object *)0x0) {\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }" if (parenthesized_expression "(pOVar25 == (Object *)0x0)" ( (binary_expression "pOVar25 == (Object *)0x0" identifier == (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      puVar30[-1] = local_94;\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8cecf;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }" { (expression_statement "puVar30[-1] = local_94;" (assignment_expression "puVar30[-1] = local_94" (subscript_expression "puVar30[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-2] = local_90 + -0x65b32;" (assignment_expression "puVar30[-2] = local_90 + -0x65b32" (subscript_expression "puVar30[-2]" identifier [ number_literal ]) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "puVar30[-3] = 0x5c;" (assignment_expression "puVar30[-3] = 0x5c" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30[-4] = (int)local_90 + -0x1a1d93;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x1a1d93" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar30[-5] = 0x8cecf;" (assignment_expression "puVar30[-5] = 0x8cecf" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;" (call_expression "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" identifier (argument_list "((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" ( (cast_expression "(char *)puVar30[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ])) , (subscript_expression "puVar30[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar30[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-2]" identifier [ number_literal ])) ))) ;)) })) (if_statement "if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0') {\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" if (parenthesized_expression "(*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0')" ( (binary_expression "*(char *)((int)&pOVar25[0x150].xindex_ + 1) == '\0'" (pointer_expression "*(char *)((int)&pOVar25[0x150].xindex_ + 1)" * (cast_expression "(char *)((int)&pOVar25[0x150].xindex_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar25[0x150].xindex_ + 1)" ( (binary_expression "(int)&pOVar25[0x150].xindex_ + 1" (cast_expression "(int)&pOVar25[0x150].xindex_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar25[0x150].xindex_" & (field_expression "pOVar25[0x150].xindex_" (subscript_expression "pOVar25[0x150]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" { (if_statement "if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') {\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" if (parenthesized_expression "((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0')" ( (binary_expression "(char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0'" (cast_expression "(char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" { (if_statement "if (bVar14 == 0) {\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                          ppuVar28 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" { (expression_statement "ppuVar28 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar28 = local_90 + -0x15e4b4" identifier = (binary_expression "local_90 + -0x15e4b4" identifier + number_literal)) ;) (goto_statement "goto LAB_0008ca90;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008cb38;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008c8f9;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;) })) (expression_statement "pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;" (assignment_expression "pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object" identifier = (field_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object" (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->offset_" & (field_expression "local_94->offset_" identifier -> field_identifier))) )) -> field_identifier)) ;) (expression_statement "ppuVar28 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar28 = local_90 + -0x15e4b4" identifier = (binary_expression "local_90 + -0x15e4b4" identifier + number_literal)) ;) (expression_statement "ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];" (assignment_expression "ppuVar4 = (undefined **)pOVar25->_vptr_Object[5]" identifier = (cast_expression "(undefined **)pOVar25->_vptr_Object[5]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "pOVar25->_vptr_Object[5]" (field_expression "pOVar25->_vptr_Object" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar4 == ppuVar28) {\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }" if (parenthesized_expression "(ppuVar4 == ppuVar28)" ( (binary_expression "ppuVar4 == ppuVar28" identifier == identifier) )) (compound_statement "{\nLAB_0008c0da:\n                  bVar26 = bVar26 & 7;\n                  bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  bVar14 = bVar23 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar23 & 3) == 0) goto LAB_0008c180;\n                }" { (labeled_statement "LAB_0008c0da:\n                  bVar26 = bVar26 & 7;" statement_identifier : (expression_statement "bVar26 = bVar26 & 7;" (assignment_expression "bVar26 = bVar26 & 7" identifier = (binary_expression "bVar26 & 7" identifier & number_literal)) ;)) (expression_statement "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar23)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar23)" identifier (argument_list "(local_a4._1_3_,bVar23)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar23 & 3;" (assignment_expression "bVar14 = bVar23 & 3" identifier = (binary_expression "bVar23 & 3" identifier & number_literal)) ;) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if ((bVar23 & 3) == 0) goto LAB_0008c180;" if (parenthesized_expression "((bVar23 & 3) == 0)" ( (binary_expression "(bVar23 & 3) == 0" (parenthesized_expression "(bVar23 & 3)" ( (binary_expression "bVar23 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) }) (else_clause "else {\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }" else (compound_statement "{\n                  puVar30[-4] = pOVar25;\n                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */\n                  puVar30[-5] = 0x8c8b6;\n                  iVar21 = (*(code *)ppuVar4)();\n                  pOVar25 = extraout_ECX;\n                  if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = pSVar35;\n                  if (bVar14 == 0) goto LAB_0008c180;\n                  bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);\n                  bVar26 = bVar26 & 7;\n                  if (bVar26 != 0) goto LAB_0008cb54;\n                }" { (expression_statement "puVar30[-4] = pOVar25;" (assignment_expression "puVar30[-4] = pOVar25" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar30[-5] = 0x8c8b6;" (assignment_expression "puVar30[-5] = 0x8c8b6" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar21 = (*(code *)ppuVar4)();" (assignment_expression "iVar21 = (*(code *)ppuVar4)()" identifier = (call_expression "(*(code *)ppuVar4)()" (parenthesized_expression "(*(code *)ppuVar4)" ( (pointer_expression "*(code *)ppuVar4" * (cast_expression "(code *)ppuVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "pOVar25 = extraout_ECX;" (assignment_expression "pOVar25 = extraout_ECX" identifier = identifier) ;) (if_statement "if (iVar21 == 0) {\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }\n                  else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                    bVar14 = bVar14 & 3;\n                  }" { (labeled_statement "LAB_0008cac0:\n                    bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" statement_identifier : (expression_statement "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar14 & 3;" (assignment_expression "bVar14 = bVar14 & 3" identifier = (binary_expression "bVar14 & 3" identifier & number_literal)) ;) }) (else_clause "else {\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" else (compound_statement "{\n                    bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);\n                    bVar14 = bVar26 & 7;\n                    if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }\n                    pSVar27 = (Symbol_table *)(local_90 + 0x1f2);\n                    pSVar35 = local_94;\nLAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    iVar21 = *(int *)p_Var3;\n                    puVar30[-3] = local_94;\n                    puVar30[-4] = p_Var3;\n                    pcVar10 = *(code **)(iVar21 + 0x1c);\n                    puVar30[-5] = 0x8c915;\n                    cVar15 = (*pcVar10)();\n                    pOVar25 = extraout_ECX_00;\n                    if (cVar15 != '\0') goto LAB_0008cac0;\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];\n                    if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }\n                    pbVar34 = *(byte **)(p_Var3 + 0x42e4);\n                    bVar13 = false;\n                    bVar37 = pbVar34 == (byte *)0x0;\n                    if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" { (expression_statement "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);" (assignment_expression "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar14 = bVar26 & 7;" (assignment_expression "bVar14 = bVar26 & 7" identifier = (binary_expression "bVar26 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar26 & 7) == 0) {\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }" if (parenthesized_expression "((bVar26 & 7) == 0)" ( (binary_expression "(bVar26 & 7) == 0" (parenthesized_expression "(bVar26 & 7)" ( (binary_expression "bVar26 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }\n                      if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }" { (if_statement "if (((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)\n                      {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }" if (parenthesized_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                          ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->offset_" & (field_expression "local_94->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) (compound_statement "{\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                        if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;\n                      }" { (expression_statement "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar23 & 0x20) != 0) goto LAB_0008cbc8;" if (parenthesized_expression "((bVar23 & 0x20) != 0)" ( (binary_expression "(bVar23 & 0x20) != 0" (parenthesized_expression "(bVar23 & 0x20)" ( (binary_expression "bVar23 & 0x20" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) }) (else_clause "else {\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }" else (compound_statement "{\n                        bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);\n                      }" { (expression_statement "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3);" (assignment_expression "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) }))) (if_statement "if ((char)bVar23 < '\0') {\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" if (parenthesized_expression "((char)bVar23 < '\0')" ( (binary_expression "(char)bVar23 < '\0'" (cast_expression "(char)bVar23" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0008ca90:\n                        pSVar35 = local_94;\n                        pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;\n                        ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];\n                        if (ppuVar4 == ppuVar28) goto LAB_0008c0da;\n                        puVar30[-4] = pOVar25;\n                        puVar30[-5] = 0x8caac;\n                        iVar21 = (*(code *)ppuVar4)();\n                        pOVar25 = extraout_ECX_01;\n                        pSVar27 = local_d0;\n                        if (iVar21 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" { (labeled_statement "LAB_0008ca90:\n                        pSVar35 = local_94;" statement_identifier : (expression_statement "pSVar35 = local_94;" (assignment_expression "pSVar35 = local_94" identifier = identifier) ;)) (expression_statement "pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object;" (assignment_expression "pOVar25 = ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object" identifier = (field_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->object" (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->offset_" & (field_expression "local_94->offset_" identifier -> field_identifier))) )) -> field_identifier)) ;) (expression_statement "ppuVar4 = (undefined **)pOVar25->_vptr_Object[5];" (assignment_expression "ppuVar4 = (undefined **)pOVar25->_vptr_Object[5]" identifier = (cast_expression "(undefined **)pOVar25->_vptr_Object[5]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "pOVar25->_vptr_Object[5]" (field_expression "pOVar25->_vptr_Object" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar4 == ppuVar28) goto LAB_0008c0da;" if (parenthesized_expression "(ppuVar4 == ppuVar28)" ( (binary_expression "ppuVar4 == ppuVar28" identifier == identifier) )) (goto_statement "goto LAB_0008c0da;" goto statement_identifier ;)) (expression_statement "puVar30[-4] = pOVar25;" (assignment_expression "puVar30[-4] = pOVar25" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-5] = 0x8caac;" (assignment_expression "puVar30[-5] = 0x8caac" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar21 = (*(code *)ppuVar4)();" (assignment_expression "iVar21 = (*(code *)ppuVar4)()" identifier = (call_expression "(*(code *)ppuVar4)()" (parenthesized_expression "(*(code *)ppuVar4)" ( (pointer_expression "*(code *)ppuVar4" * (cast_expression "(code *)ppuVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "pOVar25 = extraout_ECX_01;" (assignment_expression "pOVar25 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "pSVar27 = local_d0;" (assignment_expression "pSVar27 = local_d0" identifier = identifier) ;) (if_statement "if (iVar21 != 0) goto LAB_0008c8f9;" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008c8f9;" goto statement_identifier ;)) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;) })) }) (else_clause "else {\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }" else (compound_statement "{\n                      if (bVar14 == 4) goto LAB_0008cbc8;\n                      if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;\n                    }" { (if_statement "if (bVar14 == 4) goto LAB_0008cbc8;" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) (if_statement "if ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0') goto LAB_0008cb38;" if (parenthesized_expression "((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0')" ( (binary_expression "(char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3) <\n                          '\0'" (cast_expression "(char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 3)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 3" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008cb38;" goto statement_identifier ;)) }))) (expression_statement "pSVar27 = (Symbol_table *)(local_90 + 0x1f2);" (assignment_expression "pSVar27 = (Symbol_table *)(local_90 + 0x1f2)" identifier = (cast_expression "(Symbol_table *)(local_90 + 0x1f2)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_90 + 0x1f2)" ( (binary_expression "local_90 + 0x1f2" identifier + number_literal) )))) ;) (expression_statement "pSVar35 = local_94;" (assignment_expression "pSVar35 = local_94" identifier = identifier) ;) (labeled_statement "LAB_0008c8f9:\n                    p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];" statement_identifier : (expression_statement "p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];" (assignment_expression "p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3]" identifier = (subscript_expression "((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[3]" (field_expression "((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar27->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar27->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar27->saw_undefined_" & (field_expression "pSVar27->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;)) (if_statement "if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }" if (parenthesized_expression "(p_Var3 == (_func_int_varargs *)0x0)" ( (binary_expression "p_Var3 == (_func_int_varargs *)0x0" identifier == (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      puVar30[-2] = local_90 + -0x65bc7;\n                      puVar30[-3] = 0x69;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */\n                      puVar30[-5] = 0x8ce5b;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }" { (expression_statement "puVar30[-2] = local_90 + -0x65bc7;" (assignment_expression "puVar30[-2] = local_90 + -0x65bc7" (subscript_expression "puVar30[-2]" identifier [ number_literal ]) = (binary_expression "local_90 + -0x65bc7" identifier + number_literal)) ;) (expression_statement "puVar30[-3] = 0x69;" (assignment_expression "puVar30[-3] = 0x69" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30[-4] = (int)local_90 + -0x1a1d93;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x1a1d93" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar30[-5] = 0x8ce5b;" (assignment_expression "puVar30[-5] = 0x8ce5b" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;" (call_expression "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" identifier (argument_list "((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" ( (cast_expression "(char *)puVar30[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ])) , (subscript_expression "puVar30[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar30[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "iVar21 = *(int *)p_Var3;" (assignment_expression "iVar21 = *(int *)p_Var3" identifier = (pointer_expression "*(int *)p_Var3" * (cast_expression "(int *)p_Var3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar30[-3] = local_94;" (assignment_expression "puVar30[-3] = local_94" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-4] = p_Var3;" (assignment_expression "puVar30[-4] = p_Var3" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar10 = *(code **)(iVar21 + 0x1c);" (assignment_expression "pcVar10 = *(code **)(iVar21 + 0x1c)" identifier = (pointer_expression "*(code **)(iVar21 + 0x1c)" * (cast_expression "(code **)(iVar21 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar30[-5] = 0x8c915;" (assignment_expression "puVar30[-5] = 0x8c915" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "cVar15 = (*pcVar10)();" (assignment_expression "cVar15 = (*pcVar10)()" identifier = (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pOVar25 = extraout_ECX_00;" (assignment_expression "pOVar25 = extraout_ECX_00" identifier = identifier) ;) (if_statement "if (cVar15 != '\0') goto LAB_0008cac0;" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;)) (expression_statement "p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];" (assignment_expression "p_Var3 = ((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2]" identifier = (subscript_expression "((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data[2]" (field_expression "((Output_data *)&pSVar27->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar27->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar27->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar27->saw_undefined_" & (field_expression "pSVar27->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var3 == (_func_int_varargs *)0x0) {\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }" if (parenthesized_expression "(p_Var3 == (_func_int_varargs *)0x0)" ( (binary_expression "p_Var3 == (_func_int_varargs *)0x0" identifier == (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      puVar30[-2] = local_90 + -0x65b32;\n                      puVar30[-3] = 0x5c;\n                      puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                      puVar30[-5] = 0x8ce79;\n                      gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;\n                    }" { (expression_statement "puVar30[-2] = local_90 + -0x65b32;" (assignment_expression "puVar30[-2] = local_90 + -0x65b32" (subscript_expression "puVar30[-2]" identifier [ number_literal ]) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "puVar30[-3] = 0x5c;" (assignment_expression "puVar30[-3] = 0x5c" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30[-4] = (int)local_90 + -0x1a1d93;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x1a1d93" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar30[-5] = 0x8ce79;" (assignment_expression "puVar30[-5] = 0x8ce79" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])\n                      ;" (call_expression "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" identifier (argument_list "((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" ( (cast_expression "(char *)puVar30[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ])) , (subscript_expression "puVar30[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar30[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "pbVar34 = *(byte **)(p_Var3 + 0x42e4);" (assignment_expression "pbVar34 = *(byte **)(p_Var3 + 0x42e4)" identifier = (pointer_expression "*(byte **)(p_Var3 + 0x42e4)" * (cast_expression "(byte **)(p_Var3 + 0x42e4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(p_Var3 + 0x42e4)" ( (binary_expression "p_Var3 + 0x42e4" identifier + number_literal) ))))) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar37 = pbVar34 == (byte *)0x0;" (assignment_expression "bVar37 = pbVar34 == (byte *)0x0" identifier = (binary_expression "pbVar34 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar37) {\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }" if (parenthesized_expression "(bVar37)" ( identifier )) (compound_statement "{\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      bVar14 = bVar14 & 3;\nLAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }\n                    }" { (expression_statement "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar14 & 3;" (assignment_expression "bVar14 = bVar14 & 3" identifier = (binary_expression "bVar14 & 3" identifier & number_literal)) ;) (labeled_statement "LAB_0008c9da:\n                      if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }" statement_identifier : (if_statement "if (((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)) {\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }" if (parenthesized_expression "(((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0))" ( (binary_expression "((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)) ||\n                         (p_Var3[0x4eb5] != (_func_int_varargs)0x0)" (parenthesized_expression "((bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0))" ( (binary_expression "(bVar14 == 2) || (p_Var3[0x1a25] == (_func_int_varargs)0x0)" (parenthesized_expression "(bVar14 == 2)" ( (binary_expression "bVar14 == 2" identifier == number_literal) )) || (parenthesized_expression "(p_Var3[0x1a25] == (_func_int_varargs)0x0)" ( (binary_expression "p_Var3[0x1a25] == (_func_int_varargs)0x0" (subscript_expression "p_Var3[0x1a25]" identifier [ number_literal ]) == (cast_expression "(_func_int_varargs)0x0" ( (type_descriptor "_func_int_varargs" type_identifier) ) number_literal)) ))) )) || (parenthesized_expression "(p_Var3[0x4eb5] != (_func_int_varargs)0x0)" ( (binary_expression "p_Var3[0x4eb5] != (_func_int_varargs)0x0" (subscript_expression "p_Var3[0x4eb5]" identifier [ number_literal ]) != (cast_expression "(_func_int_varargs)0x0" ( (type_descriptor "_func_int_varargs" type_identifier) ) number_literal)) ))) )) (compound_statement "{\nLAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;\n                        puVar30[-5] = local_a0;\n                        puVar30[-6] = local_98;\n                        puVar30[-7] = relinfo;\n                        puVar30[-8] = local_94;\n                        puVar30[-9] = 0x8ca1a;\n                        gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));\n                        unaff_EDI = pSVar35;\n                        goto LAB_0008c180;\n                      }" { (labeled_statement "LAB_0008c9f4:\n                        puVar30[-4] = (int)local_a0 >> 0x1f;" statement_identifier : (expression_statement "puVar30[-4] = (int)local_a0 >> 0x1f;" (assignment_expression "puVar30[-4] = (int)local_a0 >> 0x1f" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;)) (expression_statement "puVar30[-5] = local_a0;" (assignment_expression "puVar30[-5] = local_a0" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-6] = local_98;" (assignment_expression "puVar30[-6] = local_98" (subscript_expression "puVar30[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-7] = relinfo;" (assignment_expression "puVar30[-7] = relinfo" (subscript_expression "puVar30[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-8] = local_94;" (assignment_expression "puVar30[-8] = local_94" (subscript_expression "puVar30[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-9] = 0x8ca1a;" (assignment_expression "puVar30[-9] = 0x8ca1a" (subscript_expression "puVar30[-9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));" statement_identifier : (ERROR ":" :) (expression_statement "gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4));" (comma_expression "gold_undefined_symbol_at_location<64,_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4))" (binary_expression "gold_undefined_symbol_at_location<64" identifier < number_literal) , (binary_expression "_false>\n                                  ((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4))" identifier > (parenthesized_expression "((gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4))" ( (comma_expression "(gold *)puVar30[-8],(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4))" (cast_expression "(gold *)puVar30[-8]" ( (type_descriptor "gold *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-8]" identifier [ number_literal ])) , (comma_expression "(Symbol *)puVar30[-7],\n                                   (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4))" (cast_expression "(Symbol *)puVar30[-7]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-7]" identifier [ number_literal ])) , (parenthesized_expression "(Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4))" ( (comma_expression "Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4)" (binary_expression "Relocate_info<64" identifier < number_literal) , (comma_expression "_false> *)puVar30[-6],puVar30[-5],\n                                   *(off_t *)(puVar30 + -4)" (binary_expression "_false> *)puVar30[-6]" identifier > (pointer_expression "*)puVar30[-6]" * (ERROR ")" )) (subscript_expression "puVar30[-6]" identifier [ number_literal ]))) , (comma_expression "puVar30[-5],\n                                   *(off_t *)(puVar30 + -4)" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) , (pointer_expression "*(off_t *)(puVar30 + -4)" * (cast_expression "(off_t *)(puVar30 + -4)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -4)" ( (binary_expression "puVar30 + -4" identifier + number_literal) ))))))) )))) )))) ;)) (expression_statement "unaff_EDI = pSVar35;" (assignment_expression "unaff_EDI = pSVar35" identifier = identifier) ;) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;) }))) }) (else_clause "else {\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }" else (compound_statement "{\n                      pOVar25 = (Object *)0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);\n                      bVar36 = false;\n                      bVar13 = (!bVar13 && !bVar37) == bVar13;\n                      if (bVar13) goto LAB_0008cac0;\n                      iVar21 = 0xb;\n                      pbVar33 = pbVar34;\n                      pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);\n                      do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);\n                      bVar37 = false;\n                      bVar13 = (!bVar36 && !bVar13) == bVar36;\n                      if (bVar13) goto LAB_0008c9f4;\n                      iVar21 = 0x17;\n                      pbVar33 = pbVar34;\n                      ppuVar28 = local_90 + -0x687e4;\n                      do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);\n                      bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                      local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);\n                      cVar15 = (!bVar37 && !bVar13) - bVar37;\n                      pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);\n                      bVar14 = bVar14 & 3;\n                      bVar13 = cVar15 == '\0';\n                      if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }\n                    }" { (expression_statement "pOVar25 = (Object *)0xb;" (assignment_expression "pOVar25 = (Object *)0xb" identifier = (cast_expression "(Object *)0xb" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar33 = pbVar34;" (assignment_expression "pbVar33 = pbVar34" identifier = identifier) ;) (expression_statement "pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6);" (assignment_expression "pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1fa6)" identifier = (cast_expression "(Symbol_table *)((int)local_90 + -0x1a1fa6)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x1a1fa6)" ( (binary_expression "(int)local_90 + -0x1a1fa6" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar37);" do (compound_statement "{\n                        pSVar35 = pSVar27;\n                        if (pOVar25 == (Object *)0x0) break;\n                        pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar13 = *pbVar33 < bVar26;\n                        bVar37 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      }" { (expression_statement "pSVar35 = pSVar27;" (assignment_expression "pSVar35 = pSVar27" identifier = identifier) ;) (if_statement "if (pOVar25 == (Object *)0x0) break;" if (parenthesized_expression "(pOVar25 == (Object *)0x0)" ( (binary_expression "pOVar25 == (Object *)0x0" identifier == (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);" (assignment_expression "pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3)" identifier = (cast_expression "(Object *)((int)&pOVar25[-1].compressed_sections_ + 3)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar25[-1].compressed_sections_ + 3)" ( (binary_expression "(int)&pOVar25[-1].compressed_sections_ + 3" (cast_expression "(int)&pOVar25[-1].compressed_sections_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar25[-1].compressed_sections_" & (field_expression "pOVar25[-1].compressed_sections_" (subscript_expression "pOVar25[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);" (assignment_expression "pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1)" identifier = (cast_expression "(Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pSVar27 + (uint)bVar38 * -2 + 1)" ( (binary_expression "(int)pSVar27 + (uint)bVar38 * -2 + 1" (binary_expression "(int)pSVar27 + (uint)bVar38 * -2" (cast_expression "(int)pSVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;" (assignment_expression "bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" identifier = (pointer_expression "*(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" * (cast_expression "(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" & (field_expression "((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar27->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar27->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar27->saw_undefined_" & (field_expression "pSVar27->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier))))) ;) (expression_statement "bVar13 = *pbVar33 < bVar26;" (assignment_expression "bVar13 = *pbVar33 < bVar26" identifier = (binary_expression "*pbVar33 < bVar26" (pointer_expression "*pbVar33" * identifier) < identifier)) ;) (expression_statement "bVar37 = *pbVar33 == bVar26;" (assignment_expression "bVar37 = *pbVar33 == bVar26" identifier = (binary_expression "*pbVar33 == bVar26" (pointer_expression "*pbVar33" * identifier) == identifier)) ;) (expression_statement "pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar33 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar33 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pSVar27 = pSVar35;" (assignment_expression "pSVar27 = pSVar35" identifier = identifier) ;) }) while (parenthesized_expression "(bVar37)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar13 && !bVar37) == bVar13;" (assignment_expression "bVar13 = (!bVar13 && !bVar37) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar37) == bVar13" (parenthesized_expression "(!bVar13 && !bVar37)" ( (binary_expression "!bVar13 && !bVar37" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar37" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_0008cac0;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;)) (expression_statement "iVar21 = 0xb;" (assignment_expression "iVar21 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar33 = pbVar34;" (assignment_expression "pbVar33 = pbVar34" identifier = identifier) ;) (expression_statement "pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b);" (assignment_expression "pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f9b)" identifier = (cast_expression "(Symbol_table *)((int)local_90 + -0x1a1f9b)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x1a1f9b)" ( (binary_expression "(int)local_90 + -0x1a1f9b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      } while (bVar13);" do (compound_statement "{\n                        pSVar35 = pSVar27;\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                        bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;\n                        bVar36 = *pbVar33 < bVar26;\n                        bVar13 = *pbVar33 == bVar26;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        pSVar27 = pSVar35;\n                      }" { (expression_statement "pSVar35 = pSVar27;" (assignment_expression "pSVar35 = pSVar27" identifier = identifier) ;) (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);" (assignment_expression "pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1)" identifier = (cast_expression "(Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pSVar27 + (uint)bVar38 * -2 + 1)" ( (binary_expression "(int)pSVar27 + (uint)bVar38 * -2 + 1" (binary_expression "(int)pSVar27 + (uint)bVar38 * -2" (cast_expression "(int)pSVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data;" (assignment_expression "bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" identifier = (pointer_expression "*(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" * (cast_expression "(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" & (field_expression "((Output_data *)&pSVar27->saw_undefined_)->\n                                           _vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar27->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar27->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar27->saw_undefined_" & (field_expression "pSVar27->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier))))) ;) (expression_statement "bVar36 = *pbVar33 < bVar26;" (assignment_expression "bVar36 = *pbVar33 < bVar26" identifier = (binary_expression "*pbVar33 < bVar26" (pointer_expression "*pbVar33" * identifier) < identifier)) ;) (expression_statement "bVar13 = *pbVar33 == bVar26;" (assignment_expression "bVar13 = *pbVar33 == bVar26" identifier = (binary_expression "*pbVar33 == bVar26" (pointer_expression "*pbVar33" * identifier) == identifier)) ;) (expression_statement "pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar33 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar33 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pSVar27 = pSVar35;" (assignment_expression "pSVar27 = pSVar35" identifier = identifier) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "bVar13 = (!bVar36 && !bVar13) == bVar36;" (assignment_expression "bVar13 = (!bVar36 && !bVar13) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar13) == bVar36" (parenthesized_expression "(!bVar36 && !bVar13)" ( (binary_expression "!bVar36 && !bVar13" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar13) goto LAB_0008c9f4;" if (parenthesized_expression "(bVar13)" ( identifier )) (goto_statement "goto LAB_0008c9f4;" goto statement_identifier ;)) (expression_statement "iVar21 = 0x17;" (assignment_expression "iVar21 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar33 = pbVar34;" (assignment_expression "pbVar33 = pbVar34" identifier = identifier) ;) (expression_statement "ppuVar28 = local_90 + -0x687e4;" (assignment_expression "ppuVar28 = local_90 + -0x687e4" identifier = (binary_expression "local_90 + -0x687e4" identifier + number_literal)) ;) (do_statement "do {\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      } while (bVar13);" do (compound_statement "{\n                        if (iVar21 == 0) break;\n                        iVar21 = iVar21 + -1;\n                        bVar37 = *pbVar33 < *(byte *)ppuVar28;\n                        bVar13 = *pbVar33 == *(byte *)ppuVar28;\n                        pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;\n                        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);\n                      }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar37 = *pbVar33 < *(byte *)ppuVar28;" (assignment_expression "bVar37 = *pbVar33 < *(byte *)ppuVar28" identifier = (binary_expression "*pbVar33 < *(byte *)ppuVar28" (pointer_expression "*pbVar33" * identifier) < (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar13 = *pbVar33 == *(byte *)ppuVar28;" (assignment_expression "bVar13 = *pbVar33 == *(byte *)ppuVar28" identifier = (binary_expression "*pbVar33 == *(byte *)ppuVar28" (pointer_expression "*pbVar33" * identifier) == (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar33 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar33 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1);" (assignment_expression "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar28 + (uint)bVar38 * -2 + 1)" ( (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2 + 1" (binary_expression "(int)ppuVar28 + (uint)bVar38 * -2" (cast_expression "(int)ppuVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar14 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar14)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar14)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "cVar15 = (!bVar37 && !bVar13) - bVar37;" (assignment_expression "cVar15 = (!bVar37 && !bVar13) - bVar37" identifier = (binary_expression "(!bVar37 && !bVar13) - bVar37" (parenthesized_expression "(!bVar37 && !bVar13)" ( (binary_expression "!bVar37 && !bVar13" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) - identifier)) ;) (expression_statement "pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15);" (assignment_expression "pOVar25 = (Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15)" identifier = (cast_expression "(Object *)CONCAT31((int3)((uint)iVar21 >> 8),cVar15)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31((int3)((uint)iVar21 >> 8),cVar15)" identifier (argument_list "((int3)((uint)iVar21 >> 8),cVar15)" ( (call_expression "(int3)((uint)iVar21 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)iVar21 >> 8)" ( (binary_expression "(uint)iVar21 >> 8" (cast_expression "(uint)iVar21" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) , identifier ))))) ;) (expression_statement "bVar14 = bVar14 & 3;" (assignment_expression "bVar14 = bVar14 & 3" identifier = (binary_expression "bVar14 & 3" identifier & number_literal)) ;) (expression_statement "bVar13 = cVar15 == '\0';" (assignment_expression "bVar13 = cVar15 == '\0'" identifier = (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if ((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)) {\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }" if (parenthesized_expression "((!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13))" ( (binary_expression "(!bVar13) ||\n                         (bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)" (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) || (parenthesized_expression "(bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13)" ( (comma_expression "bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0,\n                         pSVar35 = local_94, !bVar13" (assignment_expression "bVar13 = ((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0" identifier = (binary_expression "((local_94->table_)._M_h._M_bucket_count & 0x1000000) == 0" (parenthesized_expression "((local_94->table_)._M_h._M_bucket_count & 0x1000000)" ( (binary_expression "(local_94->table_)._M_h._M_bucket_count & 0x1000000" (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal)) , (comma_expression "pSVar35 = local_94, !bVar13" (assignment_expression "pSVar35 = local_94" identifier = identifier) , (unary_expression "!bVar13" ! identifier))) ))) )) (compound_statement "{\n                        bVar37 = false;\n                        pOVar25 = (Object *)0x16;\n                        pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);\n                        do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);\n                        if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;\n                      }" { (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "pOVar25 = (Object *)0x16;" (assignment_expression "pOVar25 = (Object *)0x16" identifier = (cast_expression "(Object *)0x16" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79);" (assignment_expression "pSVar27 = (Symbol_table *)((int)local_90 + -0x1a1f79)" identifier = (cast_expression "(Symbol_table *)((int)local_90 + -0x1a1f79)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x1a1f79)" ( (binary_expression "(int)local_90 + -0x1a1f79" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        } while (bVar13);" do (compound_statement "{\n                          pSVar35 = pSVar27;\n                          if (pOVar25 == (Object *)0x0) break;\n                          pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);\n                          pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);\n                          bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;\n                          bVar37 = *pbVar34 < bVar26;\n                          bVar13 = *pbVar34 == bVar26;\n                          pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;\n                          pSVar27 = pSVar35;\n                        }" { (expression_statement "pSVar35 = pSVar27;" (assignment_expression "pSVar35 = pSVar27" identifier = identifier) ;) (if_statement "if (pOVar25 == (Object *)0x0) break;" if (parenthesized_expression "(pOVar25 == (Object *)0x0)" ( (binary_expression "pOVar25 == (Object *)0x0" identifier == (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3);" (assignment_expression "pOVar25 = (Object *)((int)&pOVar25[-1].compressed_sections_ + 3)" identifier = (cast_expression "(Object *)((int)&pOVar25[-1].compressed_sections_ + 3)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar25[-1].compressed_sections_ + 3)" ( (binary_expression "(int)&pOVar25[-1].compressed_sections_ + 3" (cast_expression "(int)&pOVar25[-1].compressed_sections_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar25[-1].compressed_sections_" & (field_expression "pOVar25[-1].compressed_sections_" (subscript_expression "pOVar25[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1);" (assignment_expression "pSVar35 = (Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1)" identifier = (cast_expression "(Symbol_table *)((int)pSVar27 + (uint)bVar38 * -2 + 1)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pSVar27 + (uint)bVar38 * -2 + 1)" ( (binary_expression "(int)pSVar27 + (uint)bVar38 * -2 + 1" (binary_expression "(int)pSVar27 + (uint)bVar38 * -2" (cast_expression "(int)pSVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data;" (assignment_expression "bVar26 = *(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data" identifier = (pointer_expression "*(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data" * (cast_expression "(byte *)&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data" & (field_expression "((Output_data *)&pSVar27->saw_undefined_)->\n                                             _vptr_Output_data" (parenthesized_expression "((Output_data *)&pSVar27->saw_undefined_)" ( (cast_expression "(Output_data *)&pSVar27->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar27->saw_undefined_" & (field_expression "pSVar27->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier))))) ;) (expression_statement "bVar37 = *pbVar34 < bVar26;" (assignment_expression "bVar37 = *pbVar34 < bVar26" identifier = (binary_expression "*pbVar34 < bVar26" (pointer_expression "*pbVar34" * identifier) < identifier)) ;) (expression_statement "bVar13 = *pbVar34 == bVar26;" (assignment_expression "bVar13 = *pbVar34 == bVar26" identifier = (binary_expression "*pbVar34 == bVar26" (pointer_expression "*pbVar34" * identifier) == identifier)) ;) (expression_statement "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1;" (assignment_expression "pbVar34 = pbVar34 + (uint)bVar38 * -2 + 1" identifier = (binary_expression "pbVar34 + (uint)bVar38 * -2 + 1" (binary_expression "pbVar34 + (uint)bVar38 * -2" identifier + (binary_expression "(uint)bVar38 * -2" (cast_expression "(uint)bVar38" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pSVar27 = pSVar35;" (assignment_expression "pSVar27 = pSVar35" identifier = identifier) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (if_statement "if (((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')) goto LAB_0008c9da;" if (parenthesized_expression "(((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0'))" ( (binary_expression "((!bVar37 && !bVar13) != bVar37) ||\n                           ((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')" (parenthesized_expression "((!bVar37 && !bVar13) != bVar37)" ( (binary_expression "(!bVar37 && !bVar13) != bVar37" (parenthesized_expression "(!bVar37 && !bVar13)" ( (binary_expression "!bVar37 && !bVar13" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) != identifier) )) || (parenthesized_expression "((char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0')" ( (binary_expression "(char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)\n                            < '\0'" (cast_expression "(char)*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0008c9da;" goto statement_identifier ;)) })) }))) }))) (labeled_statement "LAB_0008cad3:\n                  unaff_EDI = pSVar35;" statement_identifier : (expression_statement "unaff_EDI = pSVar35;" (assignment_expression "unaff_EDI = pSVar35" identifier = identifier) ;)) (if_statement "if (bVar14 == 0) goto LAB_0008c180;" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) (expression_statement "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2);" (assignment_expression "bVar26 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 2)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 2" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar26)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar26)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar26)" identifier (argument_list "(local_a4._1_3_,bVar26)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar26 = bVar26 & 7;" (assignment_expression "bVar26 = bVar26 & 7" identifier = (binary_expression "bVar26 & 7" identifier & number_literal)) ;) (if_statement "if (bVar26 != 0) goto LAB_0008cb54;" if (parenthesized_expression "(bVar26 != 0)" ( (binary_expression "bVar26 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008cb54;" goto statement_identifier ;)) }))) (if_statement "if ((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }" if (parenthesized_expression "((((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0))" ( (binary_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0) &&\n                   (((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)" (parenthesized_expression "(((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0)" ( (binary_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx == 0" (field_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))->shndx" (parenthesized_expression "((anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1))" ( (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)\n                     ((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1)" ( (binary_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_ + 1" (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->offset_" & (field_expression "local_94->offset_" identifier -> field_identifier))) + number_literal) ))) )) -> field_identifier) == number_literal) )) && (parenthesized_expression "(((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0)" ( (binary_expression "((local_94->table_)._M_h._M_bucket_count & 0x20000000) != 0" (parenthesized_expression "((local_94->table_)._M_h._M_bucket_count & 0x20000000)" ( (binary_expression "(local_94->table_)._M_h._M_bucket_count & 0x20000000" (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                  local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                  pOVar25 = (Object *)(uint)(bVar23 >> 4);\n                  if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;\nLAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];\n                  if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }" { (expression_statement "bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;" (assignment_expression "bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count" identifier = (field_expression "(byte)(local_94->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_94->table_)._M_h" (call_expression "(byte)(local_94->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar23)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar23)" identifier (argument_list "(local_a4._1_3_,bVar23)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "pOVar25 = (Object *)(uint)(bVar23 >> 4);" (assignment_expression "pOVar25 = (Object *)(uint)(bVar23 >> 4)" identifier = (cast_expression "(Object *)(uint)(bVar23 >> 4)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(bVar23 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar23 >> 4)" ( (binary_expression "bVar23 >> 4" identifier >> number_literal) ))))) ;) (if_statement "if ((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))\n                  goto LAB_0008c10d;" if (parenthesized_expression "((bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0))" ( (binary_expression "(bVar23 >> 4 == 2) ||\n                     (((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" (parenthesized_expression "(bVar23 >> 4 == 2)" ( (binary_expression "bVar23 >> 4 == 2" (binary_expression "bVar23 >> 4" identifier >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0)" ( (binary_expression "((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) != 0" (parenthesized_expression "((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2)" ( (binary_expression "(uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2" (field_expression "(uint)(local_94->table_)._M_h._M_before_begin._M_nxt" (field_expression "(uint)(local_94->table_)._M_h._M_before_begin" (field_expression "(uint)(local_94->table_)._M_h" (call_expression "(uint)(local_94->table_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0008c10d;" goto statement_identifier ;)) (labeled_statement "LAB_0008cb8b:\n                  pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];" statement_identifier : (expression_statement "pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2];" (assignment_expression "pOVar25 = (Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2]" identifier = (cast_expression "(Object *)\n                            ((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2]" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data[2]" (field_expression "((Output_data *)&local_cc->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&local_cc->saw_undefined_)" ( (cast_expression "(Output_data *)&local_cc->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_cc->saw_undefined_" & (field_expression "local_cc->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ]))) ;)) (if_statement "if (pOVar25 == (Object *)0x0) {\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }" if (parenthesized_expression "(pOVar25 == (Object *)0x0)" ( (binary_expression "pOVar25 == (Object *)0x0" identifier == (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    puVar30[-1] = (uint)bVar23;\n                    puVar30[-2] = local_90 + -0x65b32;\n                    puVar30[-3] = 0x5c;\n                    puVar30[-4] = (int)local_90 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */\n                    puVar30[-5] = &LAB_0008cf0a;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }" { (expression_statement "puVar30[-1] = (uint)bVar23;" (assignment_expression "puVar30[-1] = (uint)bVar23" (subscript_expression "puVar30[-1]" identifier [ number_literal ]) = (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar30[-2] = local_90 + -0x65b32;" (assignment_expression "puVar30[-2] = local_90 + -0x65b32" (subscript_expression "puVar30[-2]" identifier [ number_literal ]) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "puVar30[-3] = 0x5c;" (assignment_expression "puVar30[-3] = 0x5c" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30[-4] = (int)local_90 + -0x1a1d93;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x1a1d93" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "puVar30[-5] = &LAB_0008cf0a;" (assignment_expression "puVar30[-5] = &LAB_0008cf0a" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = (pointer_expression "&LAB_0008cf0a" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);" (call_expression "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" identifier (argument_list "((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" ( (cast_expression "(char *)puVar30[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ])) , (subscript_expression "puVar30[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar30[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-2]" identifier [ number_literal ])) ))) ;)) })) (if_statement "if (*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" if (parenthesized_expression "(*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0')" ( (binary_expression "*(char *)((int)&pOVar25[0x150].xindex_ + 1) != '\0'" (pointer_expression "*(char *)((int)&pOVar25[0x150].xindex_ + 1)" * (cast_expression "(char *)((int)&pOVar25[0x150].xindex_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar25[0x150].xindex_ + 1)" ( (binary_expression "(int)&pOVar25[0x150].xindex_ + 1" (cast_expression "(int)&pOVar25[0x150].xindex_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar25[0x150].xindex_" & (field_expression "pOVar25[0x150].xindex_" (subscript_expression "pOVar25[0x150]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    unaff_EDI = local_cc;\n                    if (bVar26 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" { (expression_statement "unaff_EDI = local_cc;" (assignment_expression "unaff_EDI = local_cc" identifier = identifier) ;) (if_statement "if (bVar26 != 0) goto LAB_0008c180;" if (parenthesized_expression "(bVar26 != 0)" ( (binary_expression "bVar26 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) (goto_statement "goto LAB_0008c10d;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }" else (compound_statement "{\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;\n                }" { (labeled_statement "LAB_0008c10d:\n                  unaff_EDI = local_94;" statement_identifier : (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;)) (if_statement "if (((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;" if (parenthesized_expression "(((uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->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)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->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)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->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)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->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)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->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)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl" (binary_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base<gold" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3].\n                             super__Vector_base" (subscript_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_[3]" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment\n                             ->output_lists_" (field_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)->output_segment" (call_expression "(uint)((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&local_94->offset_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->offset_" & (field_expression "local_94->offset_" identifier -> field_identifier))) ))) -> field_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) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) }))) (if_statement "if (bVar14 == 2) {\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }\n                else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }" if (parenthesized_expression "(bVar14 == 2)" ( (binary_expression "bVar14 == 2" identifier == number_literal) )) (compound_statement "{\n                  puVar30[-4] = (int)local_90 + -0x19ca5d;\n                  puVar30[-5] = 0x8cc6d;\n                  uVar17 = gettext();\n                }" { (expression_statement "puVar30[-4] = (int)local_90 + -0x19ca5d;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x19ca5d" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x19ca5d" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar30[-5] = 0x8cc6d;" (assignment_expression "puVar30[-5] = 0x8cc6d" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }" else (if_statement "if (bVar14 < 3) {\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }\n                else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }" if (parenthesized_expression "(bVar14 < 3)" ( (binary_expression "bVar14 < 3" identifier < number_literal) )) (compound_statement "{\n                  if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }\n                  puVar30[-4] = (int)local_90 + -0x19ca66;\n                  puVar30[-5] = 0x8c385;\n                  uVar17 = gettext();\n                }" { (if_statement "if (bVar14 != 1) {\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }" if (parenthesized_expression "(bVar14 != 1)" ( (binary_expression "bVar14 != 1" identifier != number_literal) )) (compound_statement "{\n                    puVar30[-1] = pOVar25;\n                    puVar30[-2] = local_90 + -0x65c80;\n                    puVar30[-3] = 0xa4;\n                    puVar30[-4] = (int)local_90 + -0x19cb27;\n                    /* WARNING: Subroutine does not return */\n                    puVar30[-5] = 0x8ce98;\n                    gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);\n                  }" { (expression_statement "puVar30[-1] = pOVar25;" (assignment_expression "puVar30[-1] = pOVar25" (subscript_expression "puVar30[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-2] = local_90 + -0x65c80;" (assignment_expression "puVar30[-2] = local_90 + -0x65c80" (subscript_expression "puVar30[-2]" identifier [ number_literal ]) = (binary_expression "local_90 + -0x65c80" identifier + number_literal)) ;) (expression_statement "puVar30[-3] = 0xa4;" (assignment_expression "puVar30[-3] = 0xa4" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar30[-4] = (int)local_90 + -0x19cb27;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x19cb27" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar30[-5] = 0x8ce98;" (assignment_expression "puVar30[-5] = 0x8ce98" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2]);" (call_expression "do_gold_unreachable((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" identifier (argument_list "((char *)puVar30[-4],puVar30[-3],(char *)puVar30[-2])" ( (cast_expression "(char *)puVar30[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ])) , (subscript_expression "puVar30[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar30[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-2]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "puVar30[-4] = (int)local_90 + -0x19ca66;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x19ca66" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x19ca66" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar30[-5] = 0x8c385;" (assignment_expression "puVar30[-5] = 0x8c385" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }" else (compound_statement "{\n                  puVar30[-4] = (int)local_90 + -0x19ca56;\n                  puVar30[-5] = 0x8c13f;\n                  uVar17 = gettext();\n                }" { (expression_statement "puVar30[-4] = (int)local_90 + -0x19ca56;" (assignment_expression "puVar30[-4] = (int)local_90 + -0x19ca56" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_90 + -0x19ca56" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "puVar30[-5] = 0x8c13f;" (assignment_expression "puVar30[-5] = 0x8c13f" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar17 = gettext();" (assignment_expression "uVar17 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }))))) (expression_statement "unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data;" (assignment_expression "unaff_EDI = (Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data" identifier = (cast_expression "(Symbol_table *)\n                            ((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((Output_data *)&local_94->saw_undefined_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&local_94->saw_undefined_)" ( (cast_expression "(Output_data *)&local_94->saw_undefined_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_94->saw_undefined_" & (field_expression "local_94->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "puVar30[-4] = local_90 + -0x67173;" (assignment_expression "puVar30[-4] = local_90 + -0x67173" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = (binary_expression "local_90 + -0x67173" identifier + number_literal)) ;) (expression_statement "puVar30[-5] = 0x8c163;" (assignment_expression "puVar30[-5] = 0x8c163" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar18 = gettext();" (assignment_expression "uVar18 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar30[-2] = unaff_EDI;" (assignment_expression "puVar30[-2] = unaff_EDI" (subscript_expression "puVar30[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-3] = uVar17;" (assignment_expression "puVar30[-3] = uVar17" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-4] = uVar18;" (assignment_expression "puVar30[-4] = uVar18" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-5] = 0x8c174;" (assignment_expression "puVar30[-5] = 0x8c174" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::gold_error((char *)puVar30[-4]);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error((char *)puVar30[-4]);" (call_expression "gold_error((char *)puVar30[-4])" identifier (argument_list "((char *)puVar30[-4])" ( (cast_expression "(char *)puVar30[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-4]" identifier [ number_literal ])) ))) ;)) }) (else_clause "else {\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }" else (compound_statement "{\n                if (bVar14 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);\n                local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                bVar14 = bVar23 & 3;\n                unaff_EDI = local_94;\n                if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }\n              }" { (if_statement "if (bVar14 == 4) goto LAB_0008cbc8;" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) (labeled_statement "LAB_0008cb38:\n                bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" statement_identifier : (expression_statement "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1);" (assignment_expression "bVar23 = *(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" identifier = (pointer_expression "*(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" * (cast_expression "(undefined1 *)((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_94->table_)._M_h._M_bucket_count + 1)" ( (binary_expression "(int)&(local_94->table_)._M_h._M_bucket_count + 1" (cast_expression "(int)&(local_94->table_)._M_h._M_bucket_count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_94->table_)._M_h._M_bucket_count" & (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar23)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar23)" identifier (argument_list "(local_a4._1_3_,bVar23)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (expression_statement "bVar14 = bVar23 & 3;" (assignment_expression "bVar14 = bVar23 & 3" identifier = (binary_expression "bVar23 & 3" identifier & number_literal)) ;) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if ((bVar23 & 3) != 0) {\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }" if (parenthesized_expression "((bVar23 & 3) != 0)" ( (binary_expression "(bVar23 & 3) != 0" (parenthesized_expression "(bVar23 & 3)" ( (binary_expression "bVar23 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  bVar26 = bVar26 & 7;\n                  pSVar35 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = pSVar35;\n                  if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }\n                }" { (expression_statement "bVar26 = bVar26 & 7;" (assignment_expression "bVar26 = bVar26 & 7" identifier = (binary_expression "bVar26 & 7" identifier & number_literal)) ;) (expression_statement "pSVar35 = local_94;" (assignment_expression "pSVar35 = local_94" identifier = identifier) ;) (labeled_statement "LAB_0008cb54:\n                  unaff_EDI = pSVar35;" statement_identifier : (expression_statement "unaff_EDI = pSVar35;" (assignment_expression "unaff_EDI = pSVar35" identifier = identifier) ;)) (if_statement "if (bVar26 == 4) {\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }" if (parenthesized_expression "(bVar26 == 4)" ( (binary_expression "bVar26 == 4" identifier == number_literal) )) (compound_statement "{\n                    bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;\n                    local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);\n                    if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;\n                  }" { (expression_statement "bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count;" (assignment_expression "bVar23 = (byte)(local_94->table_)._M_h._M_bucket_count" identifier = (field_expression "(byte)(local_94->table_)._M_h._M_bucket_count" (field_expression "(byte)(local_94->table_)._M_h" (call_expression "(byte)(local_94->table_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (expression_statement "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23);" (assignment_expression "local_a4 = (Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" identifier = (parenthesized_expression "(Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" ( (binary_expression "Symbol_value<64> *)CONCAT31(local_a4._1_3_,bVar23)" (binary_expression "Symbol_value<64" identifier < number_literal) > (pointer_expression "*)CONCAT31(local_a4._1_3_,bVar23)" * (ERROR ")" )) (call_expression "CONCAT31(local_a4._1_3_,bVar23)" identifier (argument_list "(local_a4._1_3_,bVar23)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ))) ;) (if_statement "if ((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       ) goto LAB_0008cb8b;" if (parenthesized_expression "((bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)\n                       )" ( (binary_expression "(bVar23 >> 4 != 2) &&\n                       (bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)" (parenthesized_expression "(bVar23 >> 4 != 2)" ( (binary_expression "bVar23 >> 4 != 2" (binary_expression "bVar23 >> 4" identifier >> number_literal) != number_literal) )) && (parenthesized_expression "(bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0)" ( (comma_expression "bVar26 = 4, ((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0" (assignment_expression "bVar26 = 4" identifier = number_literal) , (binary_expression "((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2) == 0" (parenthesized_expression "((uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2)" ( (binary_expression "(uint)(local_94->table_)._M_h._M_before_begin._M_nxt & 2" (field_expression "(uint)(local_94->table_)._M_h._M_before_begin._M_nxt" (field_expression "(uint)(local_94->table_)._M_h._M_before_begin" (field_expression "(uint)(local_94->table_)._M_h" (call_expression "(uint)(local_94->table_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0008cb8b;" goto statement_identifier ;)) })) })) }))) (labeled_statement "LAB_0008c180:\n              if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }" statement_identifier : (if_statement "if (((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0) {\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }" if (parenthesized_expression "(((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0)" ( (binary_expression "((local_94->table_)._M_h._M_bucket_count & 0x4000000) != 0" (parenthesized_expression "((local_94->table_)._M_h._M_bucket_count & 0x4000000)" ( (binary_expression "(local_94->table_)._M_h._M_bucket_count & 0x4000000" (field_expression "(local_94->table_)._M_h._M_bucket_count" (field_expression "(local_94->table_)._M_h" (parenthesized_expression "(local_94->table_)" ( (field_expression "local_94->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                puVar30[-3] = (int)local_a0 >> 0x1f;\n                puVar30[-4] = local_a0;\n                puVar30[-5] = local_98;\n                pSVar35 = relinfo->symtab;\n                puVar30[-6] = relinfo;\n                puVar30[-7] = local_94;\n                local_94 = pSVar35;\n                puVar30[-8] = &pSVar35->warnings_;\n                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */\n                puVar30[-9] = 0x8c337;\n                gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));\n              }" { (expression_statement "puVar30[-3] = (int)local_a0 >> 0x1f;" (assignment_expression "puVar30[-3] = (int)local_a0 >> 0x1f" (subscript_expression "puVar30[-3]" identifier [ number_literal ]) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "puVar30[-4] = local_a0;" (assignment_expression "puVar30[-4] = local_a0" (subscript_expression "puVar30[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-5] = local_98;" (assignment_expression "puVar30[-5] = local_98" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pSVar35 = relinfo->symtab;" (assignment_expression "pSVar35 = relinfo->symtab" identifier = (field_expression "relinfo->symtab" identifier -> field_identifier)) ;) (expression_statement "puVar30[-6] = relinfo;" (assignment_expression "puVar30[-6] = relinfo" (subscript_expression "puVar30[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30[-7] = local_94;" (assignment_expression "puVar30[-7] = local_94" (subscript_expression "puVar30[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_94 = pSVar35;" (assignment_expression "local_94 = pSVar35" identifier = identifier) ;) (expression_statement "puVar30[-8] = &pSVar35->warnings_;" (assignment_expression "puVar30[-8] = &pSVar35->warnings_" (subscript_expression "puVar30[-8]" identifier [ number_literal ]) = (pointer_expression "&pSVar35->warnings_" & (field_expression "pSVar35->warnings_" identifier -> field_identifier))) ;) comment (expression_statement "puVar30[-9] = 0x8c337;" (assignment_expression "puVar30[-9] = 0x8c337" (subscript_expression "puVar30[-9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));" statement_identifier : (ERROR ":" :) (labeled_statement "Warnings::issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));" statement_identifier : (ERROR ":" :) (expression_statement "issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4));" (comma_expression "issue_warning<64,_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4))" (binary_expression "issue_warning<64" identifier < number_literal) , (binary_expression "_false>\n                          ((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4))" identifier > (parenthesized_expression "((Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4))" ( (comma_expression "(Warnings *)puVar30[-8],(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4))" (cast_expression "(Warnings *)puVar30[-8]" ( (type_descriptor "Warnings *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-8]" identifier [ number_literal ])) , (comma_expression "(Symbol *)puVar30[-7],\n                           (Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4))" (cast_expression "(Symbol *)puVar30[-7]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar30[-7]" identifier [ number_literal ])) , (parenthesized_expression "(Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4))" ( (comma_expression "Relocate_info<64,_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4)" (binary_expression "Relocate_info<64" identifier < number_literal) , (comma_expression "_false> *)puVar30[-6],puVar30[-5],\n                           *(off_t *)(puVar30 + -4)" (binary_expression "_false> *)puVar30[-6]" identifier > (pointer_expression "*)puVar30[-6]" * (ERROR ")" )) (subscript_expression "puVar30[-6]" identifier [ number_literal ]))) , (comma_expression "puVar30[-5],\n                           *(off_t *)(puVar30 + -4)" (subscript_expression "puVar30[-5]" identifier [ number_literal ]) , (pointer_expression "*(off_t *)(puVar30 + -4)" * (cast_expression "(off_t *)(puVar30 + -4)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -4)" ( (binary_expression "puVar30 + -4" identifier + number_literal) ))))))) )))) )))) ;))) }))) })) }))) }) (ERROR "puVar30[-4] = local_b8;\n        puVar30[-5] = 0x8c19e;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *" identifier [ number_literal ] = identifier ; identifier [ number_literal ] = number_literal ; identifier : : identifier < number_literal > : : ~ identifier ( ( identifier < number_literal > *) )) (ERROR "puVar30" identifier) [ number_literal ]) , (subscript_expression "puVar30[-3]" identifier [ number_literal ])))))) ))))) (ERROR ";\n        puVar30[-4] = local_9c;\n        puVar30[-5] = 0x8c1aa;\n        gold::Symbol_value<64>::~Symbol_value((Symbol_value<64> *" ; identifier [ number_literal ] = identifier ; identifier [ number_literal ] = number_literal ; identifier : : identifier < number_literal > : : ~ identifier ( ( identifier < number_literal > *) )) (ERROR "puVar30" identifier) [ number_literal ]) , (subscript_expression "puVar30[-3]" identifier [ number_literal ]) ))) ;) }) (else_clause "else {\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" else (compound_statement "{\n        *(uint *)((int)puVar30 + -4) = uVar24;\n        *(uint *)((int)puVar30 + -8) = relinfo->data_shndx;\n        *(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;\n        *(Output_section **)((int)puVar30 + -0x10) = output_section;\n                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */\n        *(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;\n        local_a0 = gold::Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" { (expression_statement "*(uint *)((int)puVar30 + -4) = uVar24;" (assignment_expression "*(uint *)((int)puVar30 + -4) = uVar24" (pointer_expression "*(uint *)((int)puVar30 + -4)" * (cast_expression "(uint *)((int)puVar30 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -4)" ( (binary_expression "(int)puVar30 + -4" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar30 + -8) = relinfo->data_shndx;" (assignment_expression "*(uint *)((int)puVar30 + -8) = relinfo->data_shndx" (pointer_expression "*(uint *)((int)puVar30 + -8)" * (cast_expression "(uint *)((int)puVar30 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->data_shndx" identifier -> field_identifier)) ;) (expression_statement "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object;" (assignment_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc) = relinfo->object" (pointer_expression "*(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc)" * (call_expression "(Sized_relobj_file<64,_false> **)((int)puVar30 + -0xc)" (parenthesized_expression "(Sized_relobj_file<64,_false> **)" ( (comma_expression "Sized_relobj_file<64,_false> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (expression_statement "*(Output_section **)((int)puVar30 + -0x10) = output_section;" (assignment_expression "*(Output_section **)((int)puVar30 + -0x10) = output_section" (pointer_expression "*(Output_section **)((int)puVar30 + -0x10)" * (cast_expression "(Output_section **)((int)puVar30 + -0x10)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c888;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8c888" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "local_a0 = gold::" (assignment_expression "local_a0 = gold" identifier = identifier) : :) (labeled_statement "Output_section::output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));" statement_identifier : (ERROR ":" :) (expression_statement "output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4));" (call_expression "output_offset\n                             (*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4))" identifier (argument_list "(*(Output_section **)((int)puVar30 + -0x10),\n                              *(Relobj **)((int)puVar30 + -0xc),*(uint *)((int)puVar30 + -8),\n                              *(section_offset_type *)((int)puVar30 + -4))" ( (pointer_expression "*(Output_section **)((int)puVar30 + -0x10)" * (cast_expression "(Output_section **)((int)puVar30 + -0x10)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Relobj **)((int)puVar30 + -0xc)" * (cast_expression "(Relobj **)((int)puVar30 + -0xc)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar30 + -8)" * (cast_expression "(uint *)((int)puVar30 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(section_offset_type *)((int)puVar30 + -4)" * (cast_expression "(section_offset_type *)((int)puVar30 + -4)" ( (type_descriptor "section_offset_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -4)" ( (binary_expression "(int)puVar30 + -4" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (if_statement "if (local_a0 != 0xffffffff) goto LAB_0008c1ed;" if (parenthesized_expression "(local_a0 != 0xffffffff)" ( (binary_expression "local_a0 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0008c1ed;" goto statement_identifier ;)) }))) (expression_statement "local_98 = local_98 + 1;" (assignment_expression "local_98 = local_98 + 1" identifier = (binary_expression "local_98 + 1" identifier + number_literal)) ;) (if_statement "if (reloc_count == local_98) goto LAB_0008cc40;" if (parenthesized_expression "(reloc_count == local_98)" ( (binary_expression "reloc_count == local_98" identifier == identifier) )) (goto_statement "goto LAB_0008cc40;" goto statement_identifier ;)) (expression_statement "piVar1 = (int *)(prelocs + 0x1c);" (assignment_expression "piVar1 = (int *)(prelocs + 0x1c)" identifier = (cast_expression "(int *)(prelocs + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 0x1c)" ( (binary_expression "prelocs + 0x1c" identifier + number_literal) )))) ;) (expression_statement "uVar24 = *(uint *)(prelocs + 0x18);" (assignment_expression "uVar24 = *(uint *)(prelocs + 0x18)" identifier = (pointer_expression "*(uint *)(prelocs + 0x18)" * (cast_expression "(uint *)(prelocs + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 0x18)" ( (binary_expression "prelocs + 0x18" identifier + number_literal) ))))) ;) (expression_statement "prelocs = prelocs + 0x18;" (assignment_expression "prelocs = prelocs + 0x18" identifier = (binary_expression "prelocs + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) ;) })) (expression_statement "ppuVar28 = local_90;" (assignment_expression "ppuVar28 = local_90" identifier = identifier) ;) (expression_statement "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65b70;" (assignment_expression "*(undefined ***)((int)puVar30 + -8) = local_90 + -0x65b70" (pointer_expression "*(undefined ***)((int)puVar30 + -8)" * (cast_expression "(undefined ***)((int)puVar30 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_90 + -0x65b70" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar30 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)((int)puVar30 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar30 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar30 + -0x10) = ppuVar28 + -0x672d3;" (assignment_expression "*(undefined ***)((int)puVar30 + -0x10) = ppuVar28 + -0x672d3" (pointer_expression "*(undefined ***)((int)puVar30 + -0x10)" * (cast_expression "(undefined ***)((int)puVar30 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar28 + -0x672d3" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cd71;" (assignment_expression "*(undefined4 *)((int)puVar30 + -0x14) = 0x8cd71" (pointer_expression "*(undefined4 *)((int)puVar30 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0x14)" ( (binary_expression "(int)puVar30 + -0x14" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n            (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n             *(char **)((int)puVar30 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n            (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n             *(char **)((int)puVar30 + -8));" (call_expression "do_gold_unreachable\n            (*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n             *(char **)((int)puVar30 + -8))" identifier (argument_list "(*(char **)((int)puVar30 + -0x10),*(int *)((int)puVar30 + -0xc),\n             *(char **)((int)puVar30 + -8))" ( (pointer_expression "*(char **)((int)puVar30 + -0x10)" * (cast_expression "(char **)((int)puVar30 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -0x10)" ( (binary_expression "(int)puVar30 + -0x10" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar30 + -0xc)" * (cast_expression "(int *)((int)puVar30 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 + -0xc)" ( (binary_expression "(int)puVar30 + -0xc" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar30 + -8)" * (cast_expression "(char **)((int)puVar30 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar30 + -8)" ( (binary_expression "(int)puVar30 + -8" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })))
(translation_unit "void FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)\n\n{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    \n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}\n\n" (function_definition "void FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)\n\n{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    \n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}" primitive_type (function_declarator "FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "char param_7" primitive_type identifier) , (parameter_declaration "int param_8" primitive_type identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "int param_10" primitive_type identifier) , (parameter_declaration "uint param_11" type_identifier identifier) , (parameter_declaration "int *param_12" primitive_type (pointer_declarator "*param_12" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    \n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int *extraout_ECX;" primitive_type (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int *extraout_ECX_00;" primitive_type (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *extraout_ECX_01;" primitive_type (pointer_declarator "*extraout_ECX_01" * identifier) ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined **ppuVar18;" type_identifier (pointer_declarator "**ppuVar18" * (pointer_declarator "*ppuVar18" * identifier)) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined **unaff_EDI;" type_identifier (pointer_declarator "**unaff_EDI" * (pointer_declarator "*unaff_EDI" * 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 "undefined8 uVar28;" type_identifier identifier ;) (declaration "undefined1 auStack_dc [12];" type_identifier (array_declarator "auStack_dc [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_d0;" type_identifier (pointer_declarator "**local_d0" * (pointer_declarator "*local_d0" * identifier)) ;) (declaration "undefined **local_cc;" type_identifier (pointer_declarator "**local_cc" * (pointer_declarator "*local_cc" * identifier)) ;) (declaration "uint local_c8;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "char local_b9;" primitive_type identifier ;) (declaration "undefined **local_b8;" type_identifier (pointer_declarator "**local_b8" * (pointer_declarator "*local_b8" * identifier)) ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "int *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined **local_a4;" type_identifier (pointer_declarator "**local_a4" * (pointer_declarator "*local_a4" * identifier)) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "undefined **local_9c;" type_identifier (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "undefined **local_94;" type_identifier (pointer_declarator "**local_94" * (pointer_declarator "*local_94" * identifier)) ;) (declaration "undefined **local_90;" type_identifier (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier)) ;) (declaration "char local_82;" primitive_type identifier ;) (declaration "undefined1 local_81;" type_identifier identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "undefined1 local_7c [8];" type_identifier (array_declarator "local_7c [8]" identifier [ number_literal ]) ;) (declaration "undefined *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "undefined *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined *local_50;" type_identifier (pointer_declarator "*local_50" * 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 "undefined1 *local_34 [2];" type_identifier (pointer_declarator "*local_34 [2]" * (array_declarator "local_34 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_2c [28];" type_identifier (array_declarator "local_2c [28]" identifier [ number_literal ]) ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "local_90 = &__DT_PLTGOT;" (assignment_expression "local_90 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_c4 = param_9;" (assignment_expression "local_c4 = param_9" identifier = identifier) ;) (expression_statement "local_c0 = param_10;" (assignment_expression "local_c0 = param_10" identifier = identifier) ;) (expression_statement "local_b9 = param_7;" (assignment_expression "local_b9 = param_7" identifier = identifier) ;) (if_statement "if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" if (parenthesized_expression "(param_3 != 4)" ( (binary_expression "param_3 != 4" identifier != number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" { (expression_statement "FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");" (call_expression "FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section")" identifier (argument_list "("../../gold/x86_64.cc",0x1615,"relocate_section")" ( (string_literal ""../../gold/x86_64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "local_82 = '\0';" (assignment_expression "local_82 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_b0 = (int *)param_2[2];" (assignment_expression "local_b0 = (int *)param_2[2]" identifier = (cast_expression "(int *)param_2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "pcVar2 = *(code **)(*local_b0 + 0x8c);" (assignment_expression "pcVar2 = *(code **)(*local_b0 + 0x8c)" identifier = (pointer_expression "*(code **)(*local_b0 + 0x8c)" * (cast_expression "(code **)(*local_b0 + 0x8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_b0 + 0x8c)" ( (binary_expression "*local_b0 + 0x8c" (pointer_expression "*local_b0" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar2 == FUN_00070d40) {\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }" if (parenthesized_expression "(pcVar2 == FUN_00070d40)" ( (binary_expression "pcVar2 == FUN_00070d40" identifier == identifier) )) (compound_statement "{\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }" { (expression_statement "local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);" (assignment_expression "local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0)" identifier = (call_expression "(**(code **)(*local_b0 + 0xbc))(local_b0)" (parenthesized_expression "(**(code **)(*local_b0 + 0xbc))" ( (pointer_expression "**(code **)(*local_b0 + 0xbc)" * (pointer_expression "*(code **)(*local_b0 + 0xbc)" * (cast_expression "(code **)(*local_b0 + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_b0 + 0xbc)" ( (binary_expression "*local_b0 + 0xbc" (pointer_expression "*local_b0" * identifier) + number_literal) ))))) )) (argument_list "(local_b0)" ( identifier )))) ;) }) (else_clause "else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }" else (compound_statement "{\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }" { (expression_statement "local_c8 = (*pcVar2)(local_b0);" (assignment_expression "local_c8 = (*pcVar2)(local_b0)" identifier = (call_expression "(*pcVar2)(local_b0)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(local_b0)" ( identifier )))) ;) }))) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" identifier = identifier) ;) (if_statement "if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }" { (labeled_statement "LAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" statement_identifier : (if_statement "if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" if (parenthesized_expression "(local_82 != '\0')" ( (binary_expression "local_82 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" { (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671be" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd27;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd27" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd2f" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) }))) (return_statement "return;" return ;) })) (expression_statement "uVar13 = *param_4;" (assignment_expression "uVar13 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" identifier = identifier) ;) (if_statement "if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }" if (parenthesized_expression "(param_4[1] == 0)" ( (binary_expression "param_4[1] == 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }" { (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = local_90 + 0x1f2;" (assignment_expression "local_d0 = local_90 + 0x1f2" identifier = (binary_expression "local_90 + 0x1f2" identifier + number_literal)) ;) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" identifier = identifier) ;) (expression_statement "local_cc = local_d0;" (assignment_expression "local_cc = local_d0" identifier = identifier) ;) (do_statement "do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);" do (compound_statement "{\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    }" { (expression_statement "local_a0 = uVar13;" (assignment_expression "local_a0 = uVar13" identifier = identifier) ;) (if_statement "if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" if (parenthesized_expression "(local_b9 == '\0')" ( (binary_expression "local_b9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }" { (labeled_statement "LAB_0008c1ed:\n        local_74 = (undefined *)0x0;" statement_identifier : (expression_statement "local_74 = (undefined *)0x0;" (assignment_expression "local_74 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_70 = 0xffffffff;" (assignment_expression "local_70 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_ac = param_4[3];" (assignment_expression "local_ac = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "local_6c = 0x80000000;" (assignment_expression "local_6c = 0x80000000" 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 "*" *)) ) number_literal)) ;) (expression_statement "local_64 = (undefined *)0x0;" (assignment_expression "local_64 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" if (parenthesized_expression "(local_ac < local_c8)" ( (binary_expression "local_ac < local_c8" identifier < identifier) )) (compound_statement "{\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }" { (if_statement "if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;" if (parenthesized_expression "((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))" ( (binary_expression "(param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0)" (parenthesized_expression "(param_12 != (int *)0x0)" ( (binary_expression "param_12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0)" ( (comma_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0" (assignment_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_12 + local_98 * 4)" * (cast_expression "(undefined ***)(*param_12 + local_98 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_12 + local_98 * 4)" ( (binary_expression "*param_12 + local_98 * 4" (pointer_expression "*param_12" * identifier) + (binary_expression "local_98 * 4" identifier * number_literal)) ))))) , (binary_expression "local_94 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (goto_statement "goto LAB_0008bf67;" goto statement_identifier ;)) (expression_statement "local_94 = (undefined **)local_b0[0x38];" (assignment_expression "local_94 = (undefined **)local_b0[0x38]" identifier = (cast_expression "(undefined **)local_b0[0x38]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b0[0x38]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac)" ( (binary_expression "(uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac" (call_expression "(uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333)" ( (binary_expression "((int)local_94 - local_b0[0x37] >> 2) * -0x33333333" (parenthesized_expression "((int)local_94 - local_b0[0x37] >> 2)" ( (binary_expression "(int)local_94 - local_b0[0x37] >> 2" (binary_expression "(int)local_94 - local_b0[0x37]" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_b0[0x37]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65dd4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdda;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdda" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);" (assignment_expression "local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14)" identifier = (cast_expression "(undefined **)(local_b0[0x37] + local_ac * 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_b0[0x37] + local_ac * 0x14)" ( (binary_expression "local_b0[0x37] + local_ac * 0x14" (subscript_expression "local_b0[0x37]" identifier [ number_literal ]) + (binary_expression "local_ac * 0x14" identifier * number_literal)) )))) ;) (expression_statement "local_b4 = (uint)local_a4[2] & 0x7ffffff;" (assignment_expression "local_b4 = (uint)local_a4[2] & 0x7ffffff" identifier = (binary_expression "(uint)local_a4[2] & 0x7ffffff" (cast_expression "(uint)local_a4[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a4[2]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }" if (parenthesized_expression "(((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0))" ( (binary_expression "((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)" (parenthesized_expression "((*(byte *)((int)local_a4 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)((int)local_a4 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((int)local_a4 + 0xb) & 8)" ( (binary_expression "*(byte *)((int)local_a4 + 0xb) & 8" (pointer_expression "*(byte *)((int)local_a4 + 0xb)" * (cast_expression "(byte *)((int)local_a4 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_a4 + 0xb)" ( (binary_expression "(int)local_a4 + 0xb" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(local_b4 == 0)" ( (binary_expression "local_b4 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }" { (labeled_statement "LAB_0008c3f0:\n            local_94 = (undefined **)0x0;" statement_identifier : (expression_statement "local_94 = (undefined **)0x0;" (assignment_expression "local_94 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (goto_statement "goto LAB_0008bfef;" goto statement_identifier ;) })) (expression_statement "local_94 = (undefined **)local_b0[0xf];" (assignment_expression "local_94 = (undefined **)local_b0[0xf]" identifier = (cast_expression "(undefined **)local_b0[0xf]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b0[0xf]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }" if (parenthesized_expression "((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4)" ( (binary_expression "(uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4" (call_expression "(uint)((int)local_94 - local_b0[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_94 - local_b0[0xe] >> 2)" ( (binary_expression "(int)local_94 - local_b0[0xe] >> 2" (binary_expression "(int)local_94 - local_b0[0xe]" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_b0[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar19 + -4) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -4) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -4)" * (cast_expression "(undefined ***)(puVar19 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65c3f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ceb7" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);" (assignment_expression "local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4)" identifier = (pointer_expression "*(undefined ***)(local_b0[0xe] + local_b4 * 4)" * (cast_expression "(undefined ***)(local_b0[0xe] + local_b4 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_b0[0xe] + local_b4 * 4)" ( (binary_expression "local_b0[0xe] + local_b4 * 4" (subscript_expression "local_b0[0xe]" identifier [ number_literal ]) + (binary_expression "local_b4 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;" if (parenthesized_expression "(local_94 != (undefined **)0x0)" ( (binary_expression "local_94 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0008c3f0;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar19 + -8) = local_b4;" (assignment_expression "*(uint *)(puVar19 + -8) = local_b4" (pointer_expression "*(uint *)(puVar19 + -8)" * (cast_expression "(uint *)(puVar19 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar19 + -0xc) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0xc) = local_b0" (pointer_expression "*(int **)(puVar19 + -0xc)" * (cast_expression "(int **)(puVar19 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c461;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c461" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = FUN_0034cd20();" (assignment_expression "cVar5 = FUN_0034cd20()" identifier = (call_expression "FUN_0034cd20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_0008bfef;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008bfef;" goto statement_identifier ;)) (labeled_statement "LAB_0008c478:\n          local_9c = &local_74;" statement_identifier : (expression_statement "local_9c = &local_74;" (assignment_expression "local_9c = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;)) (expression_statement "local_60 = (undefined *)0x0;" (assignment_expression "local_60 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *local_b0;" (assignment_expression "iVar7 = *local_b0" identifier = (pointer_expression "*local_b0" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar19 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar19 + -8)" * (cast_expression "(undefined4 *)(puVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar19 + -0xc) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0xc) = local_b0" (pointer_expression "*(int **)(puVar19 + -0xc)" * (cast_expression "(int **)(puVar19 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_b8 = &local_60;" (assignment_expression "local_b8 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (expression_statement "local_5c = 0xffffffff;" (assignment_expression "local_5c = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte ***)(puVar19 + -0x10) = local_4c;" (assignment_expression "*(byte ***)(puVar19 + -0x10) = local_4c" (pointer_expression "*(byte ***)(puVar19 + -0x10)" * (cast_expression "(byte ***)(puVar19 + -0x10)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar2 = *(code **)(iVar7 + 0x40);" (assignment_expression "pcVar2 = *(code **)(iVar7 + 0x40)" identifier = (pointer_expression "*(code **)(iVar7 + 0x40)" * (cast_expression "(code **)(iVar7 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c4bd" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -4;" (assignment_expression "puVar20 = puVar19 + -4" identifier = (binary_expression "puVar19 + -4" identifier + number_literal)) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = local_a8 == 0;" (assignment_expression "bVar26 = local_a8 == 0" identifier = (binary_expression "local_a8 == 0" identifier == number_literal)) ;) (if_statement "if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }" { (expression_statement "iVar7 = 6;" (assignment_expression "iVar7 = 6" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19cac3);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19cac3)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19cac3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19cac3)" ( (binary_expression "(int)local_90 + -0x19cac3" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n            }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar21 < *pbVar22;" (assignment_expression "bVar24 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar26 = *pbVar21 == *pbVar22;" (assignment_expression "bVar26 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "ppuVar23 = local_90 + -0x672af;" (assignment_expression "ppuVar23 = local_90 + -0x672af" identifier = (binary_expression "local_90 + -0x672af" identifier + number_literal)) ;) (do_statement "do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);" do (compound_statement "{\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar25 = *pbVar21 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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 )) ;) (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                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "ppuVar23 = local_90 + -0x672ad;" (assignment_expression "ppuVar23 = local_90 + -0x672ad" identifier = (binary_expression "local_90 + -0x672ad" identifier + number_literal)) ;) (do_statement "do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);" do (compound_statement "{\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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 )) ;) (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                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" { (expression_statement "iVar7 = 5;" (assignment_expression "iVar7 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19caa2);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19caa2)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19caa2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19caa2)" ( (binary_expression "(int)local_90 + -0x19caa2" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" { (expression_statement "iVar7 = 5;" (assignment_expression "iVar7 = 5" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "ppuVar23 = local_90 + -0x672a7;" (assignment_expression "ppuVar23 = local_90 + -0x672a7" identifier = (binary_expression "local_90 + -0x672a7" identifier + number_literal)) ;) (do_statement "do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);" do (compound_statement "{\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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 )) ;) (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                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" { (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19ca96);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19ca96)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19ca96)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19ca96)" ( (binary_expression "(int)local_90 + -0x19ca96" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);" do (compound_statement "{\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" { (expression_statement "iVar7 = 10;" (assignment_expression "iVar7 = 10" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19a212);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19a212)" ( (binary_expression "(int)local_90 + -0x19a212" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);" do (compound_statement "{\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar21 < *pbVar22;" (assignment_expression "bVar26 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "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                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }" { (expression_statement "iVar7 = 0x12;" (assignment_expression "iVar7 = 0x12" identifier = number_literal) ;) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19ca91);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19ca91)" identifier = (cast_expression "(byte *)((int)local_90 + -0x19ca91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + -0x19ca91)" ( (binary_expression "(int)local_90 + -0x19ca91" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);" do (compound_statement "{\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" identifier = (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" identifier = (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 )) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;" 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) )) (goto_statement "goto LAB_0008c67e;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0008c74a;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;" statement_identifier : (expression_statement "*(undefined1 ***)(puVar19 + -8) = local_34;" (assignment_expression "*(undefined1 ***)(puVar19 + -8) = local_34" (pointer_expression "*(undefined1 ***)(puVar19 + -8)" * (cast_expression "(undefined1 ***)(puVar19 + -8)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(byte ***)(puVar19 + -0xc) = local_4c;" (assignment_expression "*(byte ***)(puVar19 + -0xc) = local_4c" (pointer_expression "*(byte ***)(puVar19 + -0xc)" * (cast_expression "(byte ***)(puVar19 + -0xc)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar19 + -0x10) = local_b4;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_b4" (pointer_expression "*(uint *)(puVar19 + -0x10)" * (cast_expression "(uint *)(puVar19 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar19 + -0x14) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0x14) = local_b0" (pointer_expression "*(int **)(puVar19 + -0x14)" * (cast_expression "(int **)(puVar19 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c510;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c510" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar28 = FUN_00291fb0();" (assignment_expression "uVar28 = FUN_00291fb0()" identifier = (call_expression "FUN_00291fb0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }" if (parenthesized_expression "((char)local_34[0] != '\0')" ( (binary_expression "(char)local_34[0] != '\0'" (cast_expression "(char)local_34[0]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_34[0]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }" { (expression_statement "local_54 = local_a4[3] + (uint)uVar28;" (assignment_expression "local_54 = local_a4[3] + (uint)uVar28" identifier = (binary_expression "local_a4[3] + (uint)uVar28" (subscript_expression "local_a4[3]" identifier [ number_literal ]) + (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20)" identifier = (binary_expression "local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20)" (binary_expression "local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3])" (subscript_expression "local_a4[4]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4((uint)uVar28,(uint)local_a4[3])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)uVar28,(uint)local_a4[3])" identifier (argument_list "((uint)uVar28,(uint)local_a4[3])" ( (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_a4[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a4[3]" identifier [ number_literal ])) ))))) + (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) })) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" identifier = number_literal) ;) (expression_statement "puVar19 = puVar19 + -4;" (assignment_expression "puVar19 = puVar19 + -4" identifier = (binary_expression "puVar19 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" else (compound_statement "{\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" { (if_statement "if (local_a8 == 1) goto LAB_0008c4f4;" if (parenthesized_expression "(local_a8 == 1)" ( (binary_expression "local_a8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0008c4f4;" goto statement_identifier ;)) (if_statement "if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" if (parenthesized_expression "(local_a8 == 3)" ( (binary_expression "local_a8 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }" { (labeled_statement "LAB_0008c67e:\n              uVar8 = param_2[2];" statement_identifier : (expression_statement "uVar8 = param_2[2];" (assignment_expression "uVar8 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (if_statement "if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" if (parenthesized_expression "(local_94 == (undefined **)0x0)" ( (binary_expression "local_94 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }" { (expression_statement "*(uint *)(puVar19 + -0x10) = local_ac;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_ac" (pointer_expression "*(uint *)(puVar19 + -0x10)" * (cast_expression "(uint *)(puVar19 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c7c5" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_002990a0();" (assignment_expression "uVar9 = FUN_002990a0()" identifier = (call_expression "FUN_002990a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;" (assignment_expression "*(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa" (pointer_expression "*(undefined ***)(puVar19 + -0x14)" * (cast_expression "(undefined ***)(puVar19 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671fa" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c7db;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c7db" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar19 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar19 + -0xc)" * (cast_expression "(uint *)(puVar19 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = uVar11;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = uVar11" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x18)" * (cast_expression "(int *)(puVar19 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x1c) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x1c) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x1c)" * (cast_expression "(uint *)(puVar19 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x20) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x20) = local_98" (pointer_expression "*(int *)(puVar19 + -0x20)" * (cast_expression "(int *)(puVar19 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x24) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x24) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x24)" * (cast_expression "(undefined4 **)(puVar19 + -0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x28) = 0x8c803;" (assignment_expression "*(undefined4 *)(puVar19 + -0x28) = 0x8c803" (pointer_expression "*(undefined4 *)(puVar19 + -0x28)" * (cast_expression "(undefined4 *)(puVar19 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x28)" ( (binary_expression "puVar19 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -4;" (assignment_expression "puVar20 = puVar19 + -4" identifier = (binary_expression "puVar19 + -4" identifier + number_literal)) ;) }) (else_clause "else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" { (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)(puVar19 + -0x14) = local_34;" (assignment_expression "*(undefined1 ***)(puVar19 + -0x14) = local_34" (pointer_expression "*(undefined1 ***)(puVar19 + -0x14)" * (cast_expression "(undefined1 ***)(puVar19 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c6aa" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar4 = local_34[0];" (assignment_expression "puVar4 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;" (assignment_expression "*(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4" (pointer_expression "*(undefined ***)(puVar19 + -0x18)" * (cast_expression "(undefined ***)(puVar19 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671e4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;" (assignment_expression "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf" (pointer_expression "*(undefined4 *)(puVar19 + -0x1c)" * (cast_expression "(undefined4 *)(puVar19 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)(puVar19 + -0x14) = puVar4;" (assignment_expression "*(undefined1 **)(puVar19 + -0x14) = puVar4" (pointer_expression "*(undefined1 **)(puVar19 + -0x14)" * (cast_expression "(undefined1 **)(puVar19 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" * (cast_expression "(undefined4 *)(puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x1c)" * (cast_expression "(int *)(puVar19 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x20) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x20) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x20)" * (cast_expression "(uint *)(puVar19 + -0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x24) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x24) = local_98" (pointer_expression "*(int *)(puVar19 + -0x24)" * (cast_expression "(int *)(puVar19 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x28) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x28) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x28)" * (cast_expression "(undefined4 **)(puVar19 + -0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x28)" ( (binary_expression "puVar19 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2" (pointer_expression "*(undefined4 *)(puVar19 + -0x2c)" * (cast_expression "(undefined4 *)(puVar19 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x2c)" ( (binary_expression "puVar19 + -0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -8;" (assignment_expression "puVar20 = puVar19 + -8" identifier = (binary_expression "puVar19 + -8" identifier + number_literal)) ;) (if_statement "if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }" { (expression_statement "*(undefined1 **)(puVar19 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)(puVar19 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)(puVar19 + -0x18)" * (cast_expression "(undefined1 **)(puVar19 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8" (pointer_expression "*(undefined4 *)(puVar19 + -0x1c)" * (cast_expression "(undefined4 *)(puVar19 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar19 + -8;" (assignment_expression "puVar20 = puVar19 + -8" identifier = (binary_expression "puVar19 + -8" identifier + number_literal)) ;) })) }))) (expression_statement "*(undefined1 **)(puVar20 + -4) = &local_81;" (assignment_expression "*(undefined1 **)(puVar20 + -4) = &local_81" (pointer_expression "*(undefined1 **)(puVar20 + -4)" * (cast_expression "(undefined1 **)(puVar20 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (pointer_expression "&local_81" & identifier)) ;) (expression_statement "*(undefined1 **)(puVar20 + -8) = local_7c;" (assignment_expression "*(undefined1 **)(puVar20 + -8) = local_7c" (pointer_expression "*(undefined1 **)(puVar20 + -8)" * (cast_expression "(undefined1 **)(puVar20 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar20 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar20 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar20 + -0xc)" * (cast_expression "(uint *)(puVar20 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c715;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c715" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_002986d0();" (assignment_expression "iVar7 = FUN_002986d0()" identifier = (call_expression "FUN_002986d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }" { (expression_statement "*(int **)(puVar20 + -8) = &local_80;" (assignment_expression "*(int **)(puVar20 + -8) = &local_80" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar7" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c824;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c824" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_00292240();" (assignment_expression "iVar7 = FUN_00292240()" identifier = (call_expression "FUN_00292240()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(local_80 != 0)" ( (binary_expression "local_80 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }" { (expression_statement "*(int *)(puVar20 + -0xc) = local_80;" (assignment_expression "*(int *)(puVar20 + -0xc) = local_80" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8cce0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8cce0" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_002990a0();" (assignment_expression "uVar8 = FUN_002990a0()" identifier = (call_expression "FUN_002990a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;" (assignment_expression "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf" (pointer_expression "*(undefined ***)(puVar20 + -0x10)" * (cast_expression "(undefined ***)(puVar20 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671cf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8ccf6" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8cd05;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8cd05" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }" { (expression_statement "uVar8 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;" (assignment_expression "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7" (pointer_expression "*(undefined ***)(puVar20 + -0x10)" * (cast_expression "(undefined ***)(puVar20 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x671c7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c856;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c856" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c85f;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c85f" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "local_a8 = 3;" (assignment_expression "local_a8 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" else (compound_statement "{\nLAB_0008c74a:\n              local_a8 = 2;\n            }" { (labeled_statement "LAB_0008c74a:\n              local_a8 = 2;" statement_identifier : (expression_statement "local_a8 = 2;" (assignment_expression "local_a8 = 2" identifier = number_literal) ;)) }))) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" identifier = identifier) ;) }))) (if_statement "if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(local_60 != (undefined *)0x0)" ( (binary_expression "local_60 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65e18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;" (assignment_expression "*(undefined **)(puVar19 + -0x14) = &UNK_0008cd92" (pointer_expression "*(undefined **)(puVar19 + -0x14)" * (cast_expression "(undefined **)(puVar19 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008cd92" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_60 = (undefined *)0xffffffff;" (assignment_expression "local_60 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }" { (expression_statement "*(byte **)(puVar19 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)(puVar19 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)(puVar19 + -0x10)" * (cast_expression "(byte **)(puVar19 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c568;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c568" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_a4 = &local_60;" (assignment_expression "local_a4 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (if_statement "if (-1 < (int)local_a0) goto LAB_0008c029;" if (parenthesized_expression "(-1 < (int)local_a0)" ( (binary_expression "-1 < (int)local_a0" number_literal < (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0008c029;" goto statement_identifier ;)) (labeled_statement "LAB_0008c588:\n          iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" else (compound_statement "{\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" { (if_statement "if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" if (parenthesized_expression "((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))" ( (binary_expression "(param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0)" (parenthesized_expression "(param_12 == (int *)0x0)" ( (binary_expression "param_12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0)" ( (comma_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0" (assignment_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4)" identifier = (pointer_expression "*(undefined ***)(*param_12 + local_98 * 4)" * (cast_expression "(undefined ***)(*param_12 + local_98 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*param_12 + local_98 * 4)" ( (binary_expression "*param_12 + local_98 * 4" (pointer_expression "*param_12" * identifier) + (binary_expression "local_98 * 4" identifier * number_literal)) ))))) , (binary_expression "local_94 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }" { (if_statement "if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(local_ac < (uint)local_b0[0x2c])" ( (binary_expression "local_ac < (uint)local_b0[0x2c]" identifier < (cast_expression "(uint)local_b0[0x2c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_b0[0x2c]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }" { (labeled_statement "LAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;" statement_identifier : (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e11" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65e11" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdb9" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar13 = local_ac - local_b0[0x2c];" (assignment_expression "uVar13 = local_ac - local_b0[0x2c]" identifier = (binary_expression "local_ac - local_b0[0x2c]" identifier - (subscript_expression "local_b0[0x2c]" identifier [ number_literal ]))) ;) (expression_statement "local_94 = (undefined **)local_b0[0x30];" (assignment_expression "local_94 = (undefined **)local_b0[0x30]" identifier = (cast_expression "(undefined **)local_b0[0x30]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b0[0x30]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13)" ( (binary_expression "(uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13" (call_expression "(uint)((int)local_94 - local_b0[0x2f] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_94 - local_b0[0x2f] >> 2)" ( (binary_expression "(int)local_94 - local_b0[0x2f] >> 2" (binary_expression "(int)local_94 - local_b0[0x2f]" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "local_b0[0x2f]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65dcc" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdfb" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);" (assignment_expression "local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4)" identifier = (pointer_expression "*(undefined ***)(local_b0[0x2f] + uVar13 * 4)" * (cast_expression "(undefined ***)(local_b0[0x2f] + uVar13 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_b0[0x2f] + uVar13 * 4)" ( (binary_expression "local_b0[0x2f] + uVar13 * 4" (subscript_expression "local_b0[0x2f]" identifier [ number_literal ]) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_94 == (undefined **)0x0) goto LAB_0008cd98;" if (parenthesized_expression "(local_94 == (undefined **)0x0)" ( (binary_expression "local_94 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0008cd98;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)local_94 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008bf67;" goto statement_identifier ;)) (expression_statement "*(undefined ***)(puVar19 + -0xc) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0xc) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0xc)" * (cast_expression "(undefined ***)(puVar19 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c2bd" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_94 = (undefined **)FUN_0034cd90();" (assignment_expression "local_94 = (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 "()" ( ))))) ;) (expression_statement "puVar10 = local_94[4];" (assignment_expression "puVar10 = local_94[4]" identifier = (subscript_expression "local_94[4]" identifier [ number_literal ])) ;) (expression_statement "puVar17 = puVar10 + -1;" (assignment_expression "puVar17 = puVar10 + -1" identifier = (binary_expression "puVar10 + -1" identifier + number_literal)) ;) (if_statement "if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }" if (parenthesized_expression "((undefined *)0xfffffffd < puVar17)" ( (binary_expression "(undefined *)0xfffffffd < puVar17" (cast_expression "(undefined *)0xfffffffd" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }" { (if_statement "if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(local_74 != (undefined *)0x0)" ( (binary_expression "local_74 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65e18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;" (assignment_expression "*(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd" (pointer_expression "*(undefined **)(puVar19 + -0x14)" * (cast_expression "(undefined **)(puVar19 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0008c2fd" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0008bf7c;" goto statement_identifier ;) })) (if_statement "if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe))" ( (binary_expression "(local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)" (parenthesized_expression "(local_74 != (undefined *)0x0)" ( (binary_expression "local_74 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_74 != (undefined *)0xfffffffe)" ( (binary_expression "local_74 != (undefined *)0xfffffffe" identifier != (cast_expression "(undefined *)0xfffffffe" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65d5b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce1c" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" statement_identifier : (if_statement "if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(puVar17 == (undefined *)0xfffffffd)" ( (binary_expression "puVar17 == (undefined *)0xfffffffd" identifier == (cast_expression "(undefined *)0xfffffffd" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65d5b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce3d" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) }) (else_clause "else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" else (compound_statement "{\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" { (labeled_statement "LAB_0008bf67:\n            puVar10 = local_94[4];" statement_identifier : (expression_statement "puVar10 = local_94[4];" (assignment_expression "puVar10 = local_94[4]" identifier = (subscript_expression "local_94[4]" identifier [ number_literal ])) ;)) (expression_statement "puVar17 = puVar10 + -1;" (assignment_expression "puVar17 = puVar10 + -1" identifier = (binary_expression "puVar10 + -1" identifier + number_literal)) ;) (if_statement "if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;" if (parenthesized_expression "(puVar17 < (undefined *)0xfffffffe)" ( (binary_expression "puVar17 < (undefined *)0xfffffffe" identifier < (cast_expression "(undefined *)0xfffffffe" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0008c350;" goto statement_identifier ;)) (labeled_statement "LAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;" statement_identifier : (expression_statement "local_74 = (undefined *)0xffffffff;" (assignment_expression "local_74 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puVar10 = local_74;" (assignment_expression "puVar10 = local_74" identifier = identifier) ;) }))) (expression_statement "local_74 = puVar10;" (assignment_expression "local_74 = puVar10" identifier = identifier) ;) (expression_statement "local_68 = local_94[0xc];" (assignment_expression "local_68 = local_94[0xc]" identifier = (subscript_expression "local_94[0xc]" identifier [ number_literal ])) ;) (expression_statement "local_64 = local_94[0xd];" (assignment_expression "local_64 = local_94[0xd]" identifier = (subscript_expression "local_94[0xd]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(local_94 + 10) & 0xf) == 6)" ( (binary_expression "(*(byte *)(local_94 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(local_94 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_94 + 10) & 0xf" (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_6c = local_6c | 0x20000000;\n          }" { (expression_statement "local_6c = local_6c | 0x20000000;" (assignment_expression "local_6c = local_6c | 0x20000000" identifier = (binary_expression "local_6c | 0x20000000" identifier | number_literal)) ;) }) (else_clause "else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" else (if_statement "if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(local_94 + 10) & 0xf) == 10)" ( (binary_expression "(*(byte *)(local_94 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(local_94 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_94 + 10) & 0xf" (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_6c = local_6c | 0x40000000;\n          }" { (expression_statement "local_6c = local_6c | 0x40000000;" (assignment_expression "local_6c = local_6c | 0x40000000" identifier = (binary_expression "local_6c | 0x40000000" identifier | number_literal)) ;) })))) (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }" if (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }" { (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }" { (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }" if (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }" { (labeled_statement "LAB_0008cc18:\n                local_b4 = 0;" statement_identifier : (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;)) (expression_statement "local_a4 = &local_74;" (assignment_expression "local_a4 = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;) (goto_statement "goto LAB_0008c478;" goto statement_identifier ;) })) }) (else_clause "else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" else (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 7) == 4)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 7) == 4" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008cc18;" goto statement_identifier ;)))) })) (expression_statement "local_a4 = &local_74;" (assignment_expression "local_a4 = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;) (labeled_statement "LAB_0008bfef:\n          local_9c = &local_74;" statement_identifier : (expression_statement "local_9c = &local_74;" (assignment_expression "local_9c = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;)) (expression_statement "local_60 = (undefined *)0x0;" (assignment_expression "local_60 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = 0xffffffff;" (assignment_expression "local_5c = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)local_a0 < 0) goto LAB_0008c588;" if (parenthesized_expression "((int)local_a0 < 0)" ( (binary_expression "(int)local_a0 < 0" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0008c588;" goto statement_identifier ;)) (labeled_statement "LAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;" statement_identifier : (if_statement "if (param_11 <= local_a0) goto LAB_0008c588;" if (parenthesized_expression "(param_11 <= local_a0)" ( (binary_expression "param_11 <= local_a0" identifier <= identifier) )) (goto_statement "goto LAB_0008c588;" goto statement_identifier ;))) (expression_statement "iVar7 = local_a0 + param_8;" (assignment_expression "iVar7 = local_a0 + param_8" identifier = (binary_expression "local_a0 + param_8" identifier + identifier)) ;) }))) (expression_statement "local_b8 = &local_60;" (assignment_expression "local_b8 = &local_60" identifier = (pointer_expression "&local_60" & identifier)) ;) (expression_statement "*(uint *)(puVar19 + -4) = param_11;" (assignment_expression "*(uint *)(puVar19 + -4) = param_11" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));" (assignment_expression "unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" identifier = (cast_expression "(undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" ( (binary_expression "((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4)" (binary_expression "((int)local_a0 >> 0x1f) + local_c0" (parenthesized_expression "((int)local_a0 >> 0x1f)" ( (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + identifier) + (cast_expression "(uint)CARRY4(local_a0,local_c4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_a0,local_c4)" identifier (argument_list "(local_a0,local_c4)" ( identifier , identifier ))))) )))) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -8) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar19 + -0xc) = local_a0 + local_c4;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_a0 + local_c4" (pointer_expression "*(uint *)(puVar19 + -0xc)" * (cast_expression "(uint *)(puVar19 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = (binary_expression "local_a0 + local_c4" identifier + identifier)) ;) (expression_statement "*(int *)(puVar19 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar19 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x14) = local_a4;" (assignment_expression "*(undefined ***)(puVar19 + -0x14) = local_a4" (pointer_expression "*(undefined ***)(puVar19 + -0x14)" * (cast_expression "(undefined ***)(puVar19 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x18) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x18) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x18)" * (cast_expression "(undefined ***)(puVar19 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint **)(puVar19 + -0x1c) = param_4;" (assignment_expression "*(uint **)(puVar19 + -0x1c) = param_4" (pointer_expression "*(uint **)(puVar19 + -0x1c)" * (cast_expression "(uint **)(puVar19 + -0x1c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x20) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x20) = local_98" (pointer_expression "*(int *)(puVar19 + -0x20)" * (cast_expression "(int *)(puVar19 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c077;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c077" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = FUN_00089330();" (assignment_expression "cVar5 = FUN_00089330()" identifier = (call_expression "FUN_00089330()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (if_statement "if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }" { (if_statement "if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }" { (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca7f" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c787;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c787" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_EDI = *(undefined ***)(puVar19 + -0x10);" (assignment_expression "unaff_EDI = *(undefined ***)(puVar19 + -0x10)" identifier = (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar19 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0xc)" * (cast_expression "(uint *)(puVar19 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x14)" * (cast_expression "(int *)(puVar19 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x18) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x18) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x18)" * (cast_expression "(uint *)(puVar19 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x1c) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x1c) = local_98" (pointer_expression "*(int *)(puVar19 + -0x1c)" * (cast_expression "(int *)(puVar19 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x20)" * (cast_expression "(undefined4 **)(puVar19 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c7a6" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" else (compound_statement "{\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" { (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }" if (parenthesized_expression "(local_94 != (undefined **)0x0)" ( (binary_expression "local_94 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }" { (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a);" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar6 = bVar16 & 7;" (assignment_expression "bVar6 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }" { (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" if (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" { (labeled_statement "LAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));" statement_identifier : (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" identifier (argument_list "(local_a4._1_3_,*(byte *)(local_94 + 10))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) ))))) ;)) (expression_statement "bVar12 = *(byte *)(local_94 + 10) >> 4;" (assignment_expression "bVar12 = *(byte *)(local_94 + 10) >> 4" identifier = (binary_expression "*(byte *)(local_94 + 10) >> 4" (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "piVar14 = (int *)(uint)bVar12;" (assignment_expression "piVar14 = (int *)(uint)bVar12" identifier = (cast_expression "(int *)(uint)bVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (if_statement "if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" if (parenthesized_expression "(bVar12 != 2)" ( (binary_expression "bVar12 != 2" identifier != number_literal) )) (compound_statement "{\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" { (if_statement "if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }" if (parenthesized_expression "(((uint)local_94[0xb] & 2) != 0)" ( (binary_expression "((uint)local_94[0xb] & 2) != 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" ( (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }" { (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (goto_statement "goto LAB_0008cad3;" goto statement_identifier ;) })) (expression_statement "ppuVar18 = local_90 + 0x1f2;" (assignment_expression "ppuVar18 = local_90 + 0x1f2" identifier = (binary_expression "local_90 + 0x1f2" identifier + number_literal)) ;) (expression_statement "piVar14 = *(int **)(*ppuVar18 + 8);" (assignment_expression "piVar14 = *(int **)(*ppuVar18 + 8)" identifier = (pointer_expression "*(int **)(*ppuVar18 + 8)" * (cast_expression "(int **)(*ppuVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar18 + 8)" ( (binary_expression "*ppuVar18 + 8" (pointer_expression "*ppuVar18" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar19 + -4) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -4) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -4)" * (cast_expression "(undefined ***)(puVar19 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cecf;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cecf" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x49b1) == '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x49b1) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x49b1)" * (cast_expression "(char *)((int)piVar14 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x49b1)" ( (binary_expression "(int)piVar14 + 0x49b1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" { (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" if (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" { (if_statement "if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" { (expression_statement "ppuVar18 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar18 = local_90 + -0x15e4b4" identifier = (binary_expression "local_90 + -0x15e4b4" identifier + number_literal)) ;) (goto_statement "goto LAB_0008ca90;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008cb38;" goto statement_identifier ;) })) (goto_statement "goto LAB_0008c8f9;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;) })) (expression_statement "piVar14 = (int *)local_94[2];" (assignment_expression "piVar14 = (int *)local_94[2]" identifier = (cast_expression "(int *)local_94[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_94[2]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar18 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar18 = local_90 + -0x15e4b4" identifier = (binary_expression "local_90 + -0x15e4b4" identifier + number_literal)) ;) (expression_statement "ppuVar3 = *(undefined ***)(*piVar14 + 0x14);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar14 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*piVar14 + 0x14)" * (cast_expression "(undefined ***)(*piVar14 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" if (parenthesized_expression "(ppuVar3 == ppuVar18)" ( (binary_expression "ppuVar3 == ppuVar18" identifier == identifier) )) (compound_statement "{\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }" { (labeled_statement "LAB_0008c0da:\n                  bVar16 = bVar16 & 7;" statement_identifier : (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;)) (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x29);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x29)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar6 = bVar12 & 3;" (assignment_expression "bVar6 = bVar12 & 3" identifier = (binary_expression "bVar12 & 3" identifier & number_literal)) ;) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if ((bVar12 & 3) == 0) goto LAB_0008c180;" if (parenthesized_expression "((bVar12 & 3) == 0)" ( (binary_expression "(bVar12 & 3) == 0" (parenthesized_expression "(bVar12 & 3)" ( (binary_expression "bVar12 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) }) (else_clause "else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" else (compound_statement "{\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" { (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" * (cast_expression "(int **)(puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c8b6" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = (*(code *)ppuVar3)();" (assignment_expression "iVar7 = (*(code *)ppuVar3)()" identifier = (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = extraout_ECX;" (assignment_expression "piVar14 = extraout_ECX" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }" { (labeled_statement "LAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" statement_identifier : (expression_statement "local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;)) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) }) (else_clause "else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" else (compound_statement "{\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" { (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a);" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar6 = bVar16 & 7;" (assignment_expression "bVar6 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }" { (if_statement "if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" if (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }" { (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x2b);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;" if (parenthesized_expression "((bVar12 & 0x20) != 0)" ( (binary_expression "(bVar12 & 0x20) != 0" (parenthesized_expression "(bVar12 & 0x20)" ( (binary_expression "bVar12 & 0x20" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) }) (else_clause "else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" else (compound_statement "{\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" { (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x2b);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (if_statement "if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" if (parenthesized_expression "((char)bVar12 < '\0')" ( (binary_expression "(char)bVar12 < '\0'" (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" { (labeled_statement "LAB_0008ca90:\n                        ppuVar23 = local_94;" statement_identifier : (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;)) (expression_statement "piVar14 = (int *)local_94[2];" (assignment_expression "piVar14 = (int *)local_94[2]" identifier = (cast_expression "(int *)local_94[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_94[2]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar3 = *(undefined ***)(*piVar14 + 0x14);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar14 + 0x14)" identifier = (pointer_expression "*(undefined ***)(*piVar14 + 0x14)" * (cast_expression "(undefined ***)(*piVar14 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 == ppuVar18) goto LAB_0008c0da;" if (parenthesized_expression "(ppuVar3 == ppuVar18)" ( (binary_expression "ppuVar3 == ppuVar18" identifier == identifier) )) (goto_statement "goto LAB_0008c0da;" goto statement_identifier ;)) (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" * (cast_expression "(int **)(puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8caac;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8caac" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = (*(code *)ppuVar3)();" (assignment_expression "iVar7 = (*(code *)ppuVar3)()" identifier = (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = extraout_ECX_01;" (assignment_expression "piVar14 = extraout_ECX_01" identifier = identifier) ;) (expression_statement "ppuVar18 = local_d0;" (assignment_expression "ppuVar18 = local_d0" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_0008c8f9;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008c8f9;" goto statement_identifier ;)) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;) })) }) (else_clause "else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" else (compound_statement "{\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" { (if_statement "if (bVar6 == 4) goto LAB_0008cbc8;" if (parenthesized_expression "(bVar6 == 4)" ( (binary_expression "bVar6 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;" if (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008cb38;" goto statement_identifier ;)) }))) (expression_statement "ppuVar18 = local_90 + 0x1f2;" (assignment_expression "ppuVar18 = local_90 + 0x1f2" identifier = (binary_expression "local_90 + 0x1f2" identifier + number_literal)) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (labeled_statement "LAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);" statement_identifier : (expression_statement "piVar14 = *(int **)(*ppuVar18 + 0xc);" (assignment_expression "piVar14 = *(int **)(*ppuVar18 + 0xc)" identifier = (pointer_expression "*(int **)(*ppuVar18 + 0xc)" * (cast_expression "(int **)(*ppuVar18 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*ppuVar18 + 0xc)" ( (binary_expression "*ppuVar18 + 0xc" (pointer_expression "*ppuVar18" * identifier) + number_literal) ))))) ;)) (if_statement "if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65bc7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce5b" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar7 = *piVar14;" (assignment_expression "iVar7 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined ***)(puVar19 + -0xc) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0xc) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0xc)" * (cast_expression "(undefined ***)(puVar19 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" * (cast_expression "(int **)(puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar2 = *(code **)(iVar7 + 0x1c);" (assignment_expression "pcVar2 = *(code **)(iVar7 + 0x1c)" identifier = (pointer_expression "*(code **)(iVar7 + 0x1c)" * (cast_expression "(code **)(iVar7 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c915;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c915" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = (*pcVar2)();" (assignment_expression "cVar5 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = extraout_ECX_00;" (assignment_expression "piVar14 = extraout_ECX_00" identifier = identifier) ;) (if_statement "if (cVar5 != '\0') goto LAB_0008cac0;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(*ppuVar18 + 8);" (assignment_expression "iVar7 = *(int *)(*ppuVar18 + 8)" identifier = (pointer_expression "*(int *)(*ppuVar18 + 8)" * (cast_expression "(int *)(*ppuVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*ppuVar18 + 8)" ( (binary_expression "*ppuVar18 + 8" (pointer_expression "*ppuVar18" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }" { (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce79;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce79" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pbVar21 = *(byte **)(iVar7 + 0x42e4);" (assignment_expression "pbVar21 = *(byte **)(iVar7 + 0x42e4)" identifier = (pointer_expression "*(byte **)(iVar7 + 0x42e4)" * (cast_expression "(byte **)(iVar7 + 0x42e4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x42e4)" ( (binary_expression "iVar7 + 0x42e4" identifier + number_literal) ))))) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar26 = pbVar21 == (byte *)0x0" identifier = (binary_expression "pbVar21 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }" { (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" statement_identifier : (if_statement "if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" if (parenthesized_expression "(((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0'))" ( (binary_expression "((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')" (parenthesized_expression "((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0'))" ( (binary_expression "(bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')" (parenthesized_expression "(bVar6 == 2)" ( (binary_expression "bVar6 == 2" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" * (cast_expression "(char *)(iVar7 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a25)" ( (binary_expression "iVar7 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(*(char *)(iVar7 + 0x4eb5) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0x4eb5) != '\0'" (pointer_expression "*(char *)(iVar7 + 0x4eb5)" * (cast_expression "(char *)(iVar7 + 0x4eb5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x4eb5)" ( (binary_expression "iVar7 + 0x4eb5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" { (labeled_statement "LAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;" statement_identifier : (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;)) (expression_statement "*(uint *)(puVar19 + -0x14) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x14) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x14)" * (cast_expression "(uint *)(puVar19 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x18) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x18) = local_98" (pointer_expression "*(int *)(puVar19 + -0x18)" * (cast_expression "(int *)(puVar19 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x1c) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x1c) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x1c)" * (cast_expression "(undefined4 **)(puVar19 + -0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x20) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x20) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x20)" * (cast_expression "(undefined ***)(puVar19 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8ca1a" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023c790();" (call_expression "FUN_0023c790()" identifier (argument_list "()" ( ))) ;) (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" identifier = identifier) ;) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;) }))) }) (else_clause "else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" else (compound_statement "{\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" { (expression_statement "piVar14 = (int *)0xb;" (assignment_expression "piVar14 = (int *)0xb" identifier = (cast_expression "(int *)0xb" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6)" identifier = (cast_expression "(undefined **)((int)local_90 + -0x1a1fa6)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + -0x1a1fa6)" ( (binary_expression "(int)local_90 + -0x1a1fa6" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);" do (compound_statement "{\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      }" { (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) break;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "piVar14 = (int *)((int)piVar14 + -1);" (assignment_expression "piVar14 = (int *)((int)piVar14 + -1)" identifier = (cast_expression "(int *)((int)piVar14 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + -1)" ( (binary_expression "(int)piVar14 + -1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" ( (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 "bVar24 = *pbVar22 < *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar22 < *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 < *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *pbVar22 == *(byte *)ppuVar18;" (assignment_expression "bVar26 = *pbVar22 == *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 == *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (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)) ;) (expression_statement "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" identifier = identifier) ;) }) 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) goto LAB_0008cac0;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_0008cac0;" goto statement_identifier ;)) (expression_statement "iVar15 = 0xb;" (assignment_expression "iVar15 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b)" identifier = (cast_expression "(undefined **)((int)local_90 + -0x1a1f9b)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + -0x1a1f9b)" ( (binary_expression "(int)local_90 + -0x1a1f9b" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);" do (compound_statement "{\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      }" { (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" identifier = identifier) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" ( (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 = *pbVar22 < *(byte *)ppuVar18;" (assignment_expression "bVar25 = *pbVar22 < *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 < *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar22 == *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar22 == *(byte *)ppuVar18" identifier = (binary_expression "*pbVar22 == *(byte *)ppuVar18" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (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)) ;) (expression_statement "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" identifier = identifier) ;) }) 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) goto LAB_0008c9f4;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_0008c9f4;" goto statement_identifier ;)) (expression_statement "iVar15 = 0x17;" (assignment_expression "iVar15 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" identifier = identifier) ;) (expression_statement "ppuVar23 = local_90 + -0x687e4;" (assignment_expression "ppuVar23 = local_90 + -0x687e4" identifier = (binary_expression "local_90 + -0x687e4" identifier + number_literal)) ;) (do_statement "do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);" do (compound_statement "{\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar22 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar22 < *(byte *)ppuVar23" identifier = (binary_expression "*pbVar22 < *(byte *)ppuVar23" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar22 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar22 == *(byte *)ppuVar23" identifier = (binary_expression "*pbVar22 == *(byte *)ppuVar23" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (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)) ;) (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 )) ;) (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier = (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "cVar5 = (!bVar26 && !bVar24) - bVar26;" (assignment_expression "cVar5 = (!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)) ;) (expression_statement "piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);" (assignment_expression "piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" identifier = (cast_expression "(int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" identifier (argument_list "((int3)((uint)iVar15 >> 8),cVar5)" ( (call_expression "(int3)((uint)iVar15 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)iVar15 >> 8)" ( (binary_expression "(uint)iVar15 >> 8" (cast_expression "(uint)iVar15" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) , identifier ))))) ;) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" identifier = (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "bVar24 = cVar5 == '\0';" (assignment_expression "bVar24 = cVar5 == '\0'" identifier = (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }" if (parenthesized_expression "((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24))" ( (binary_expression "(!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)" (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) || (parenthesized_expression "(bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)" ( (comma_expression "bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24" (assignment_expression "bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0" identifier = (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 1) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 1)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 1" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) , (comma_expression "ppuVar23 = local_94,\n                         !bVar24" (assignment_expression "ppuVar23 = local_94" identifier = identifier) , (unary_expression "!bVar24" ! identifier))) ))) )) (compound_statement "{\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }" { (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "piVar14 = (int *)0x16;" (assignment_expression "piVar14 = (int *)0x16" identifier = (cast_expression "(int *)0x16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79)" identifier = (cast_expression "(undefined **)((int)local_90 + -0x1a1f79)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + -0x1a1f79)" ( (binary_expression "(int)local_90 + -0x1a1f79" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);" do (compound_statement "{\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        }" { (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) break;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "piVar14 = (int *)((int)piVar14 + -1);" (assignment_expression "piVar14 = (int *)((int)piVar14 + -1)" identifier = (cast_expression "(int *)((int)piVar14 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + -1)" ( (binary_expression "(int)piVar14 + -1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" ( (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 "bVar26 = *pbVar21 < *(byte *)ppuVar18;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar18" identifier = (binary_expression "*pbVar21 < *(byte *)ppuVar18" (pointer_expression "*pbVar21" * identifier) < (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar18" identifier = (binary_expression "*pbVar21 == *(byte *)ppuVar18" (pointer_expression "*pbVar21" * identifier) == (pointer_expression "*(byte *)ppuVar18" * (cast_expression "(byte *)ppuVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (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 "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" identifier = identifier) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;" if (parenthesized_expression "(((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0'))" ( (binary_expression "((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')" (parenthesized_expression "((!bVar26 && !bVar24) != bVar26)" ( (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) || (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2a) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_94 + 0x2a) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0008c9da;" goto statement_identifier ;)) })) }))) }))) (labeled_statement "LAB_0008cad3:\n                  unaff_EDI = ppuVar23;" statement_identifier : (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" identifier = identifier) ;)) (if_statement "if (bVar6 == 0) goto LAB_0008c180;" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" identifier (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a) & 7" identifier = (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" * (cast_expression "(byte *)((int)local_94 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2a)" ( (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar16 != 0) goto LAB_0008cb54;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008cb54;" goto statement_identifier ;)) }))) (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" if (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" ( (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" ( (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }" { (expression_statement "bVar12 = *(byte *)(local_94 + 10);" (assignment_expression "bVar12 = *(byte *)(local_94 + 10)" identifier = (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "piVar14 = (int *)(uint)(bVar12 >> 4);" (assignment_expression "piVar14 = (int *)(uint)(bVar12 >> 4)" identifier = (cast_expression "(int *)(uint)(bVar12 >> 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(bVar12 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar12 >> 4)" ( (binary_expression "bVar12 >> 4" identifier >> number_literal) ))))) ;) (if_statement "if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;" if (parenthesized_expression "((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0))" ( (binary_expression "(bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)" (parenthesized_expression "(bVar12 >> 4 == 2)" ( (binary_expression "bVar12 >> 4 == 2" (binary_expression "bVar12 >> 4" identifier >> number_literal) == number_literal) )) || (parenthesized_expression "(((uint)local_94[0xb] & 2) != 0)" ( (binary_expression "((uint)local_94[0xb] & 2) != 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" ( (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0xb]" identifier [ number_literal ])) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0008c10d;" goto statement_identifier ;)) (labeled_statement "LAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);" statement_identifier : (expression_statement "piVar14 = *(int **)(*local_cc + 8);" (assignment_expression "piVar14 = *(int **)(*local_cc + 8)" identifier = (pointer_expression "*(int **)(*local_cc + 8)" * (cast_expression "(int **)(*local_cc + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_cc + 8)" ( (binary_expression "*local_cc + 8" (pointer_expression "*local_cc" * identifier) + number_literal) ))))) ;)) (if_statement "if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(uint *)(puVar19 + -4) = (uint)bVar12;" (assignment_expression "*(uint *)(puVar19 + -4) = (uint)bVar12" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b32" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;" (assignment_expression "*(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a" (pointer_expression "*(undefined1 **)(puVar19 + -0x14)" * (cast_expression "(undefined1 **)(puVar19 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_0008cf0a" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x49b1) != '\0')" ( (binary_expression "*(char *)((int)piVar14 + 0x49b1) != '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x49b1)" * (cast_expression "(char *)((int)piVar14 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x49b1)" ( (binary_expression "(int)piVar14 + 0x49b1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" { (expression_statement "unaff_EDI = local_cc;" (assignment_expression "unaff_EDI = local_cc" identifier = identifier) ;) (if_statement "if (bVar16 != 0) goto LAB_0008c180;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) (goto_statement "goto LAB_0008c10d;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" else (compound_statement "{\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" { (labeled_statement "LAB_0008c10d:\n                  unaff_EDI = local_94;" statement_identifier : (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;)) (if_statement "if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;" if (parenthesized_expression "((local_94[2][0x2c] & 1) == 0)" ( (binary_expression "(local_94[2][0x2c] & 1) == 0" (parenthesized_expression "(local_94[2][0x2c] & 1)" ( (binary_expression "local_94[2][0x2c] & 1" (subscript_expression "local_94[2][0x2c]" (subscript_expression "local_94[2]" identifier [ number_literal ]) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0008c180;" goto statement_identifier ;)) }))) (if_statement "if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" if (parenthesized_expression "(bVar6 == 2)" ( (binary_expression "bVar6 == 2" identifier == number_literal) )) (compound_statement "{\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }" { (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca5d" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cc6d" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" else (if_statement "if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" if (parenthesized_expression "(bVar6 < 3)" ( (binary_expression "bVar6 < 3" identifier < number_literal) )) (compound_statement "{\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }" { (if_statement "if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }" if (parenthesized_expression "(bVar6 != 1)" ( (binary_expression "bVar6 != 1" identifier != number_literal) )) (compound_statement "{\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }" { (expression_statement "*(int **)(puVar19 + -4) = piVar14;" (assignment_expression "*(int **)(puVar19 + -4) = piVar14" (pointer_expression "*(int **)(puVar19 + -4)" * (cast_expression "(int **)(puVar19 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c80" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65c80" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0xa4;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0xa4" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce98;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce98" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca66" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c385;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c385" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" else (compound_statement "{\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" { (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56" (pointer_expression "*(int *)(puVar19 + -0x10)" * (cast_expression "(int *)(puVar19 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_90 + -0x19ca56" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c13f;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c13f" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) }))))) (expression_statement "unaff_EDI = (undefined **)*local_94;" (assignment_expression "unaff_EDI = (undefined **)*local_94" identifier = (cast_expression "(undefined **)*local_94" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_94" * identifier))) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "local_90 + -0x67173" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c163;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c163" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -8) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c174;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c174" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" else (compound_statement "{\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" { (if_statement "if (bVar6 == 4) goto LAB_0008cbc8;" if (parenthesized_expression "(bVar6 == 4)" ( (binary_expression "bVar6 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0008cbc8;" goto statement_identifier ;)) (labeled_statement "LAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);" statement_identifier : (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x29);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x29)" identifier = (pointer_expression "*(byte *)((int)local_94 + 0x29)" * (cast_expression "(byte *)((int)local_94 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x29)" ( (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "bVar6 = bVar12 & 3;" (assignment_expression "bVar6 = bVar12 & 3" identifier = (binary_expression "bVar12 & 3" identifier & number_literal)) ;) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" identifier = identifier) ;) (if_statement "if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }" if (parenthesized_expression "((bVar12 & 3) != 0)" ( (binary_expression "(bVar12 & 3) != 0" (parenthesized_expression "(bVar12 & 3)" ( (binary_expression "bVar12 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }" { (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" identifier = identifier) ;) (labeled_statement "LAB_0008cb54:\n                  unaff_EDI = ppuVar23;" statement_identifier : (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" identifier = identifier) ;)) (if_statement "if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }" if (parenthesized_expression "(bVar16 == 4)" ( (binary_expression "bVar16 == 4" identifier == number_literal) )) (compound_statement "{\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }" { (expression_statement "bVar12 = *(byte *)(local_94 + 10);" (assignment_expression "bVar12 = *(byte *)(local_94 + 10)" identifier = (pointer_expression "*(byte *)(local_94 + 10)" * (cast_expression "(byte *)(local_94 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 10)" ( (binary_expression "local_94 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_a4._1_3_,bVar12)" identifier (argument_list "(local_a4._1_3_,bVar12)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;" if (parenthesized_expression "((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))" ( (binary_expression "(bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0)" (parenthesized_expression "(bVar12 >> 4 != 2)" ( (binary_expression "bVar12 >> 4 != 2" (binary_expression "bVar12 >> 4" identifier >> number_literal) != number_literal) )) && (parenthesized_expression "(bVar16 = 4, ((uint)local_94[0xb] & 2) == 0)" ( (comma_expression "bVar16 = 4, ((uint)local_94[0xb] & 2) == 0" (assignment_expression "bVar16 = 4" identifier = number_literal) , (binary_expression "((uint)local_94[0xb] & 2) == 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" ( (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0008cb8b;" goto statement_identifier ;)) })) })) }))) (labeled_statement "LAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" statement_identifier : (if_statement "if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" if (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 4) != 0)" ( (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 4) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 4)" ( (binary_expression "*(byte *)((int)local_94 + 0x2b) & 4" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" * (cast_expression "(byte *)((int)local_94 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x2b)" ( (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" { (expression_statement "*(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0xc)" * (cast_expression "(int *)(puVar19 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(uint *)(puVar19 + -0x10) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x10)" * (cast_expression "(uint *)(puVar19 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar19 + -0x14) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x14) = local_98" (pointer_expression "*(int *)(puVar19 + -0x14)" * (cast_expression "(int *)(puVar19 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppuVar23 = (undefined **)*param_2;" (assignment_expression "ppuVar23 = (undefined **)*param_2" identifier = (cast_expression "(undefined **)*param_2" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "*(undefined4 **)(puVar19 + -0x18) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x18) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x18)" * (cast_expression "(undefined4 **)(puVar19 + -0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x18)" ( (binary_expression "puVar19 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x1c) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x1c) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x1c)" * (cast_expression "(undefined ***)(puVar19 + -0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x1c)" ( (binary_expression "puVar19 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;" (assignment_expression "*(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40" (pointer_expression "*(undefined ***)(puVar19 + -0x20)" * (cast_expression "(undefined ***)(puVar19 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = (binary_expression "ppuVar23 + 0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c337;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c337" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" * (cast_expression "(undefined4 *)(puVar19 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x24)" ( (binary_expression "puVar19 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_94 = ppuVar23;" (assignment_expression "local_94 = ppuVar23" identifier = identifier) ;) (expression_statement "FUN_00350ac0();" (call_expression "FUN_00350ac0()" identifier (argument_list "()" ( ))) ;) }))) })) }))) })) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_b8;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_b8" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c19e;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c19e" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00094b30();" (call_expression "FUN_00094b30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c1aa" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00094b30();" (call_expression "FUN_00094b30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" else (compound_statement "{\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" { (expression_statement "*(uint *)(puVar19 + -4) = uVar13;" (assignment_expression "*(uint *)(puVar19 + -4) = uVar13" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar19 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar19 + -8)" * (cast_expression "(undefined4 *)(puVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = param_2[2];" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = param_2[2]" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = param_6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = param_6" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" * (cast_expression "(undefined4 *)(puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c888;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c888" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a0 = FUN_002cda80();" (assignment_expression "local_a0 = FUN_002cda80()" identifier = (call_expression "FUN_002cda80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_a0 != 0xffffffff) goto LAB_0008c1ed;" if (parenthesized_expression "(local_a0 != 0xffffffff)" ( (binary_expression "local_a0 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_0008c1ed;" goto statement_identifier ;)) }))) (expression_statement "local_98 = local_98 + 1;" (assignment_expression "local_98 = local_98 + 1" identifier = (binary_expression "local_98 + 1" identifier + number_literal)) ;) (if_statement "if (param_5 == local_98) goto LAB_0008cc40;" if (parenthesized_expression "(param_5 == local_98)" ( (binary_expression "param_5 == local_98" identifier == identifier) )) (goto_statement "goto LAB_0008cc40;" goto statement_identifier ;)) (expression_statement "puVar1 = param_4 + 7;" (assignment_expression "puVar1 = param_4 + 7" identifier = (binary_expression "param_4 + 7" identifier + number_literal)) ;) (expression_statement "uVar13 = param_4[6];" (assignment_expression "uVar13 = param_4[6]" identifier = (subscript_expression "param_4[6]" identifier [ number_literal ])) ;) (expression_statement "param_4 = param_4 + 6;" (assignment_expression "param_4 = param_4 + 6" identifier = (binary_expression "param_4 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar1 == 0)" ( (binary_expression "*puVar1 == 0" (pointer_expression "*puVar1" * identifier) == number_literal) )) ;) })) (expression_statement "ppuVar23 = local_90;" (assignment_expression "ppuVar23 = local_90" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b70" (pointer_expression "*(undefined ***)(puVar19 + -8)" * (cast_expression "(undefined ***)(puVar19 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (binary_expression "local_90 + -0x65b70" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar23 + -0x672d3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd71;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd71" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (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 IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (array_declarator IDENT [ LIT ]) ;) (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 (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) }))) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) >> LIT) )) * LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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) - (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 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) )))) = (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 * (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 ;)) (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) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) })) (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 *)))) ) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ))))) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))))) ;) })) (expression_statement (assignment_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 == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) = 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 = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (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) )))) = 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 = (binary_expression IDENT + LIT)) ;) (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 IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 *))) ) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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) - (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 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 * (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) )) (goto_statement goto 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 IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (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 ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( ))) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) < (char_literal ' escape_sequence ')) )) (compound_statement { (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 (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)))) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , 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) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (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) )))) = 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 ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (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) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;)) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (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) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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) )))) = 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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) < (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) < (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (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 * (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 (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (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 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) )))) = 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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 * IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) }) 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 )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 * IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) }) 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 )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (unary_expression ! IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (unary_expression ! IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 * IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) < (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (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 *))) ) (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) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) })) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) })) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)\n\n{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    \n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}" (primitive_type "void") (function_declarator "FUN_0008be70(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)" (identifier "FUN_0008be70") (parameter_list "(undefined4 param_1,undefined4 *param_2,int param_3,uint *param_4,int param_5,\n                 undefined4 param_6,char param_7,int param_8,uint param_9,int param_10,uint param_11\n                 ,int *param_12)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "char param_7" (primitive_type "char") (identifier "param_7")) (, ",") (parameter_declaration "int param_8" (primitive_type "int") (identifier "param_8")) (, ",") (parameter_declaration "uint param_9" (type_identifier "uint") (identifier "param_9")) (, ",") (parameter_declaration "int param_10" (primitive_type "int") (identifier "param_10")) (, ",") (parameter_declaration "uint param_11" (type_identifier "uint") (identifier "param_11")) (, ",") (parameter_declaration "int *param_12" (primitive_type "int") (pointer_declarator "*param_12" (* "*") (identifier "param_12"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  code *pcVar2;\n  undefined **ppuVar3;\n  undefined1 *puVar4;\n  char cVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined4 uVar11;\n  byte bVar12;\n  uint uVar13;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  int *piVar14;\n  int iVar15;\n  int *extraout_ECX_01;\n  byte bVar16;\n  undefined *puVar17;\n  undefined **ppuVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined **unaff_EDI;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  undefined8 uVar28;\n  undefined1 auStack_dc [12];\n  undefined **local_d0;\n  undefined **local_cc;\n  uint local_c8;\n  uint local_c4;\n  int local_c0;\n  char local_b9;\n  undefined **local_b8;\n  uint local_b4;\n  int *local_b0;\n  uint local_ac;\n  int local_a8;\n  undefined **local_a4;\n  uint local_a0;\n  undefined **local_9c;\n  int local_98;\n  undefined **local_94;\n  undefined **local_90;\n  char local_82;\n  undefined1 local_81;\n  int local_80;\n  undefined1 local_7c [8];\n  undefined *local_74;\n  undefined4 local_70;\n  uint local_6c;\n  undefined *local_68;\n  undefined *local_64;\n  undefined *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined *local_54;\n  undefined *local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [28];\n  \n  bVar27 = 0;\n  local_90 = &__DT_PLTGOT;\n  local_c4 = param_9;\n  local_c0 = param_10;\n  local_b9 = param_7;\n  if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }\n  local_82 = '\0';\n  local_b0 = (int *)param_2[2];\n  pcVar2 = *(code **)(*local_b0 + 0x8c);\n  if (pcVar2 == FUN_00070d40) {\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }\n  puVar19 = auStack_dc;\n  if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }\n  uVar13 = *param_4;\n  puVar19 = auStack_dc;\n  if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }\n  ppuVar23 = local_90;\n  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;\n  *(undefined4 *)(puVar19 + -0xc) = 0xc0;\n  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;\n                    \n  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;\n  FUN_002446e0();\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "code *pcVar2;" (type_identifier "code") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined **ppuVar3;" (type_identifier "undefined") (pointer_declarator "**ppuVar3" (* "*") (pointer_declarator "*ppuVar3" (* "*") (identifier "ppuVar3"))) (; ";")) (declaration "undefined1 *puVar4;" (type_identifier "undefined1") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int *extraout_ECX;" (primitive_type "int") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "int *extraout_ECX_00;" (primitive_type "int") (pointer_declarator "*extraout_ECX_00" (* "*") (identifier "extraout_ECX_00")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int *extraout_ECX_01;" (primitive_type "int") (pointer_declarator "*extraout_ECX_01" (* "*") (identifier "extraout_ECX_01")) (; ";")) (declaration "byte bVar16;" (type_identifier "byte") (identifier "bVar16") (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined **ppuVar18;" (type_identifier "undefined") (pointer_declarator "**ppuVar18" (* "*") (pointer_declarator "*ppuVar18" (* "*") (identifier "ppuVar18"))) (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (declaration "undefined **unaff_EDI;" (type_identifier "undefined") (pointer_declarator "**unaff_EDI" (* "*") (pointer_declarator "*unaff_EDI" (* "*") (identifier "unaff_EDI"))) (; ";")) (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 "undefined8 uVar28;" (type_identifier "undefined8") (identifier "uVar28") (; ";")) (declaration "undefined1 auStack_dc [12];" (type_identifier "undefined1") (array_declarator "auStack_dc [12]" (identifier "auStack_dc") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined **local_d0;" (type_identifier "undefined") (pointer_declarator "**local_d0" (* "*") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0"))) (; ";")) (declaration "undefined **local_cc;" (type_identifier "undefined") (pointer_declarator "**local_cc" (* "*") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc"))) (; ";")) (declaration "uint local_c8;" (type_identifier "uint") (identifier "local_c8") (; ";")) (declaration "uint local_c4;" (type_identifier "uint") (identifier "local_c4") (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "char local_b9;" (primitive_type "char") (identifier "local_b9") (; ";")) (declaration "undefined **local_b8;" (type_identifier "undefined") (pointer_declarator "**local_b8" (* "*") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8"))) (; ";")) (declaration "uint local_b4;" (type_identifier "uint") (identifier "local_b4") (; ";")) (declaration "int *local_b0;" (primitive_type "int") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "uint local_ac;" (type_identifier "uint") (identifier "local_ac") (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "undefined **local_a4;" (type_identifier "undefined") (pointer_declarator "**local_a4" (* "*") (pointer_declarator "*local_a4" (* "*") (identifier "local_a4"))) (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "undefined **local_9c;" (type_identifier "undefined") (pointer_declarator "**local_9c" (* "*") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c"))) (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "undefined **local_94;" (type_identifier "undefined") (pointer_declarator "**local_94" (* "*") (pointer_declarator "*local_94" (* "*") (identifier "local_94"))) (; ";")) (declaration "undefined **local_90;" (type_identifier "undefined") (pointer_declarator "**local_90" (* "*") (pointer_declarator "*local_90" (* "*") (identifier "local_90"))) (; ";")) (declaration "char local_82;" (primitive_type "char") (identifier "local_82") (; ";")) (declaration "undefined1 local_81;" (type_identifier "undefined1") (identifier "local_81") (; ";")) (declaration "int local_80;" (primitive_type "int") (identifier "local_80") (; ";")) (declaration "undefined1 local_7c [8];" (type_identifier "undefined1") (array_declarator "local_7c [8]" (identifier "local_7c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined *local_74;" (type_identifier "undefined") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "undefined4 local_70;" (type_identifier "undefined4") (identifier "local_70") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "undefined *local_68;" (type_identifier "undefined") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined *local_64;" (type_identifier "undefined") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined *local_60;" (type_identifier "undefined") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined *local_54;" (type_identifier "undefined") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined *local_50;" (type_identifier "undefined") (pointer_declarator "*local_50" (* "*") (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 "undefined1 *local_34 [2];" (type_identifier "undefined1") (pointer_declarator "*local_34 [2]" (* "*") (array_declarator "local_34 [2]" (identifier "local_34") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_2c [28];" (type_identifier "undefined1") (array_declarator "local_2c [28]" (identifier "local_2c") ([ "[") (number_literal "28") (] "]")) (; ";")) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" (identifier "bVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = &__DT_PLTGOT;" (assignment_expression "local_90 = &__DT_PLTGOT" (identifier "local_90") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_c4 = param_9;" (assignment_expression "local_c4 = param_9" (identifier "local_c4") (= "=") (identifier "param_9")) (; ";")) (expression_statement "local_c0 = param_10;" (assignment_expression "local_c0 = param_10" (identifier "local_c0") (= "=") (identifier "param_10")) (; ";")) (expression_statement "local_b9 = param_7;" (assignment_expression "local_b9 = param_7" (identifier "local_b9") (= "=") (identifier "param_7")) (; ";")) (if_statement "if (param_3 != 4) {\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" (if "if") (parenthesized_expression "(param_3 != 4)" (( "(") (binary_expression "param_3 != 4" (identifier "param_3") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");" (call_expression "FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section")" (identifier "FUN_002446e0") (argument_list "("../../gold/x86_64.cc",0x1615,"relocate_section")" (( "(") (string_literal ""../../gold/x86_64.cc"" (" """) (string_content "../../gold/x86_64.cc") (" """)) (, ",") (number_literal "0x1615") (, ",") (string_literal ""relocate_section"" (" """) (string_content "relocate_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_82 = '\0';" (assignment_expression "local_82 = '\0'" (identifier "local_82") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_b0 = (int *)param_2[2];" (assignment_expression "local_b0 = (int *)param_2[2]" (identifier "local_b0") (= "=") (cast_expression "(int *)param_2[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pcVar2 = *(code **)(*local_b0 + 0x8c);" (assignment_expression "pcVar2 = *(code **)(*local_b0 + 0x8c)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(*local_b0 + 0x8c)" (* "*") (cast_expression "(code **)(*local_b0 + 0x8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_b0 + 0x8c)" (( "(") (binary_expression "*local_b0 + 0x8c" (pointer_expression "*local_b0" (* "*") (identifier "local_b0")) (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (if_statement "if (pcVar2 == FUN_00070d40) {\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }\n  else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }" (if "if") (parenthesized_expression "(pcVar2 == FUN_00070d40)" (( "(") (binary_expression "pcVar2 == FUN_00070d40" (identifier "pcVar2") (== "==") (identifier "FUN_00070d40")) () ")")) (compound_statement "{\n                    \n    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);\n  }" ({ "{") (expression_statement "local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);" (assignment_expression "local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0)" (identifier "local_c8") (= "=") (call_expression "(**(code **)(*local_b0 + 0xbc))(local_b0)" (parenthesized_expression "(**(code **)(*local_b0 + 0xbc))" (( "(") (pointer_expression "**(code **)(*local_b0 + 0xbc)" (* "*") (pointer_expression "*(code **)(*local_b0 + 0xbc)" (* "*") (cast_expression "(code **)(*local_b0 + 0xbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_b0 + 0xbc)" (( "(") (binary_expression "*local_b0 + 0xbc" (pointer_expression "*local_b0" (* "*") (identifier "local_b0")) (+ "+") (number_literal "0xbc")) () ")"))))) () ")")) (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }" (else "else") (compound_statement "{\n                    \n    local_c8 = (*pcVar2)(local_b0);\n  }" ({ "{") (expression_statement "local_c8 = (*pcVar2)(local_b0);" (assignment_expression "local_c8 = (*pcVar2)(local_b0)" (identifier "local_c8") (= "=") (call_expression "(*pcVar2)(local_b0)" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")")))) (; ";")) (} "}")))) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" (identifier "puVar19") (= "=") (identifier "auStack_dc")) (; ";")) (if_statement "if (param_5 == 0) {\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }\n    return;\n  }" ({ "{") (labeled_statement "LAB_0008cc40:\n    if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" (statement_identifier "LAB_0008cc40") (: ":") (if_statement "if (local_82 != '\0') {\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" (if "if") (parenthesized_expression "(local_82 != '\0')" (( "(") (binary_expression "local_82 != '\0'" (identifier "local_82") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;\n      uVar8 = gettext();\n      *(undefined4 *)(puVar19 + -0x10) = uVar8;\n      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;\n      FUN_0023b810();\n      return;\n    }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_90 + -0x671be" (identifier "local_90") (+ "+") (number_literal "-0x671be"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd27;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd27" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cd27")) (; ";")) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" (identifier "uVar8") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd2f" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cd2f")) (; ";")) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" (identifier "FUN_0023b810") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar13 = *param_4;" (assignment_expression "uVar13 = *param_4" (identifier "uVar13") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" (identifier "puVar19") (= "=") (identifier "auStack_dc")) (; ";")) (if_statement "if (param_4[1] == 0) {\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }" (if "if") (parenthesized_expression "(param_4[1] == 0)" (( "(") (binary_expression "param_4[1] == 0" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_a8 = 0;\n    local_98 = 0;\n    local_d0 = local_90 + 0x1f2;\n    puVar19 = auStack_dc;\n    local_cc = local_d0;\n    do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);\n  }" ({ "{") (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = local_90 + 0x1f2;" (assignment_expression "local_d0 = local_90 + 0x1f2" (identifier "local_d0") (= "=") (binary_expression "local_90 + 0x1f2" (identifier "local_90") (+ "+") (number_literal "0x1f2"))) (; ";")) (expression_statement "puVar19 = auStack_dc;" (assignment_expression "puVar19 = auStack_dc" (identifier "puVar19") (= "=") (identifier "auStack_dc")) (; ";")) (expression_statement "local_cc = local_d0;" (assignment_expression "local_cc = local_d0" (identifier "local_cc") (= "=") (identifier "local_d0")) (; ";")) (do_statement "do {\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    } while (*puVar1 == 0);" (do "do") (compound_statement "{\n      local_a0 = uVar13;\n      if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }\n      local_98 = local_98 + 1;\n      if (param_5 == local_98) goto LAB_0008cc40;\n      puVar1 = param_4 + 7;\n      uVar13 = param_4[6];\n      param_4 = param_4 + 6;\n    }" ({ "{") (expression_statement "local_a0 = uVar13;" (assignment_expression "local_a0 = uVar13" (identifier "local_a0") (= "=") (identifier "uVar13")) (; ";")) (if_statement "if (local_b9 == '\0') {\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }\n      else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" (if "if") (parenthesized_expression "(local_b9 == '\0')" (( "(") (binary_expression "local_b9 == '\0'" (identifier "local_b9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0008c1ed:\n        local_74 = (undefined *)0x0;\n        local_70 = 0xffffffff;\n        local_ac = param_4[3];\n        local_6c = 0x80000000;\n        local_68 = (undefined *)0x0;\n        local_64 = (undefined *)0x0;\n        if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }\n        local_b8 = &local_60;\n        *(uint *)(puVar19 + -4) = param_11;\n        unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));\n        *(undefined ***)(puVar19 + -8) = unaff_EDI;\n        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;\n        *(int *)(puVar19 + -0x10) = iVar7;\n        *(undefined ***)(puVar19 + -0x14) = local_a4;\n        *(undefined ***)(puVar19 + -0x18) = local_94;\n        *(uint **)(puVar19 + -0x1c) = param_4;\n        *(int *)(puVar19 + -0x20) = local_98;\n                    \n        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;\n        cVar5 = FUN_00089330();\n        ppuVar23 = local_94;\n        if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }\n        *(undefined ***)(puVar19 + -0x10) = local_b8;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;\n        FUN_00094b30();\n        *(undefined ***)(puVar19 + -0x10) = local_9c;\n        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;\n        FUN_00094b30();\n      }" ({ "{") (labeled_statement "LAB_0008c1ed:\n        local_74 = (undefined *)0x0;" (statement_identifier "LAB_0008c1ed") (: ":") (expression_statement "local_74 = (undefined *)0x0;" (assignment_expression "local_74 = (undefined *)0x0" (identifier "local_74") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_70 = 0xffffffff;" (assignment_expression "local_70 = 0xffffffff" (identifier "local_70") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_ac = param_4[3];" (assignment_expression "local_ac = param_4[3]" (identifier "local_ac") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_6c = 0x80000000;" (assignment_expression "local_6c = 0x80000000" (identifier "local_6c") (= "=") (number_literal "0x80000000")) (; ";")) (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 "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_64 = (undefined *)0x0;" (assignment_expression "local_64 = (undefined *)0x0" (identifier "local_64") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_ac < local_c8) {\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }\n        else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" (if "if") (parenthesized_expression "(local_ac < local_c8)" (( "(") (binary_expression "local_ac < local_c8" (identifier "local_ac") (< "<") (identifier "local_c8")) () ")")) (compound_statement "{\n          if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;\n          local_94 = (undefined **)local_b0[0x38];\n          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }\n          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);\n          local_b4 = (uint)local_a4[2] & 0x7ffffff;\n          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }\n          local_94 = (undefined **)local_b0[0xf];\n          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }\n          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);\n          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;\n          *(uint *)(puVar19 + -8) = local_b4;\n          *(int **)(puVar19 + -0xc) = local_b0;\n          *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;\n          cVar5 = FUN_0034cd20();\n          if (cVar5 != '\0') goto LAB_0008bfef;\nLAB_0008c478:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          iVar7 = *local_b0;\n          *(undefined4 *)(puVar19 + -8) = param_2[6];\n          *(int **)(puVar19 + -0xc) = local_b0;\n          local_b8 = &local_60;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          *(byte ***)(puVar19 + -0x10) = local_4c;\n                    \n          pcVar2 = *(code **)(iVar7 + 0x40);\n          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;\n          (*pcVar2)();\n          puVar20 = puVar19 + -4;\n          bVar24 = false;\n          bVar26 = local_a8 == 0;\n          if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }\n          if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }\n          local_60 = (undefined *)0xffffffff;\n          if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }\n          local_a4 = &local_60;\n          if (-1 < (int)local_a0) goto LAB_0008c029;\nLAB_0008c588:\n          iVar7 = 0;\n        }" ({ "{") (if_statement "if ((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))\n          goto LAB_0008bf67;" (if "if") (parenthesized_expression "((param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))" (( "(") (binary_expression "(param_12 != (int *)0x0) &&\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0)" (parenthesized_expression "(param_12 != (int *)0x0)" (( "(") (binary_expression "param_12 != (int *)0x0" (identifier "param_12") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0)" (( "(") (comma_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0" (assignment_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4)" (identifier "local_94") (= "=") (pointer_expression "*(undefined ***)(*param_12 + local_98 * 4)" (* "*") (cast_expression "(undefined ***)(*param_12 + local_98 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_12 + local_98 * 4)" (( "(") (binary_expression "*param_12 + local_98 * 4" (pointer_expression "*param_12" (* "*") (identifier "param_12")) (+ "+") (binary_expression "local_98 * 4" (identifier "local_98") (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "local_94 != (undefined **)0x0" (identifier "local_94") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0008bf67;" (goto "goto") (statement_identifier "LAB_0008bf67") (; ";"))) (expression_statement "local_94 = (undefined **)local_b0[0x38];" (assignment_expression "local_94 = (undefined **)local_b0[0x38]" (identifier "local_94") (= "=") (cast_expression "(undefined **)local_b0[0x38]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_b0[0x38]" (identifier "local_b0") ([ "[") (number_literal "0x38") (] "]")))) (; ";")) (if_statement "if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac)" (( "(") (binary_expression "(uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac" (call_expression "(uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333)" (( "(") (binary_expression "((int)local_94 - local_b0[0x37] >> 2) * -0x33333333" (parenthesized_expression "((int)local_94 - local_b0[0x37] >> 2)" (( "(") (binary_expression "(int)local_94 - local_b0[0x37] >> 2" (binary_expression "(int)local_94 - local_b0[0x37]" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (- "-") (subscript_expression "local_b0[0x37]" (identifier "local_b0") ([ "[") (number_literal "0x37") (] "]"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x33333333")) () ")"))) (<= "<=") (identifier "local_ac")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;\n            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65dd4" (identifier "local_90") (+ "+") (number_literal "-0x65dd4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8c1")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdda;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdda" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cdda")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);" (assignment_expression "local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14)" (identifier "local_a4") (= "=") (cast_expression "(undefined **)(local_b0[0x37] + local_ac * 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_b0[0x37] + local_ac * 0x14)" (( "(") (binary_expression "local_b0[0x37] + local_ac * 0x14" (subscript_expression "local_b0[0x37]" (identifier "local_b0") ([ "[") (number_literal "0x37") (] "]")) (+ "+") (binary_expression "local_ac * 0x14" (identifier "local_ac") (* "*") (number_literal "0x14"))) () ")")))) (; ";")) (expression_statement "local_b4 = (uint)local_a4[2] & 0x7ffffff;" (assignment_expression "local_b4 = (uint)local_a4[2] & 0x7ffffff" (identifier "local_b4") (= "=") (binary_expression "(uint)local_a4[2] & 0x7ffffff" (cast_expression "(uint)local_a4[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a4[2]" (identifier "local_a4") ([ "[") (number_literal "2") (] "]"))) (& "&") (number_literal "0x7ffffff"))) (; ";")) (if_statement "if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }" (if "if") (parenthesized_expression "(((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0))" (( "(") (binary_expression "((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)" (parenthesized_expression "((*(byte *)((int)local_a4 + 0xb) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((int)local_a4 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((int)local_a4 + 0xb) & 8)" (( "(") (binary_expression "*(byte *)((int)local_a4 + 0xb) & 8" (pointer_expression "*(byte *)((int)local_a4 + 0xb)" (* "*") (cast_expression "(byte *)((int)local_a4 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_a4 + 0xb)" (( "(") (binary_expression "(int)local_a4 + 0xb" (cast_expression "(int)local_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a4")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_b4 == 0)" (( "(") (binary_expression "local_b4 == 0" (identifier "local_b4") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0008c3f0:\n            local_94 = (undefined **)0x0;\n            goto LAB_0008bfef;\n          }" ({ "{") (labeled_statement "LAB_0008c3f0:\n            local_94 = (undefined **)0x0;" (statement_identifier "LAB_0008c3f0") (: ":") (expression_statement "local_94 = (undefined **)0x0;" (assignment_expression "local_94 = (undefined **)0x0" (identifier "local_94") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";"))) (goto_statement "goto LAB_0008bfef;" (goto "goto") (statement_identifier "LAB_0008bfef") (; ";")) (} "}"))) (expression_statement "local_94 = (undefined **)local_b0[0xf];" (assignment_expression "local_94 = (undefined **)local_b0[0xf]" (identifier "local_94") (= "=") (cast_expression "(undefined **)local_b0[0xf]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_b0[0xf]" (identifier "local_b0") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (if_statement "if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4)" (( "(") (binary_expression "(uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4" (call_expression "(uint)((int)local_94 - local_b0[0xe] >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_94 - local_b0[0xe] >> 2)" (( "(") (binary_expression "(int)local_94 - local_b0[0xe] >> 2" (binary_expression "(int)local_94 - local_b0[0xe]" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (- "-") (subscript_expression "local_b0[0xe]" (identifier "local_b0") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "local_b4")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar19 + -4) = unaff_EDI;\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;\n            *(undefined4 *)(puVar19 + -0xc) = 0x50b;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -4) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -4) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -4)" (* "*") (cast_expression "(undefined ***)(puVar19 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "unaff_EDI")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65c3f" (identifier "local_90") (+ "+") (number_literal "-0x65c3f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x50b;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x50b" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x50b")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ceb7" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ceb7")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);" (assignment_expression "local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4)" (identifier "local_94") (= "=") (pointer_expression "*(undefined ***)(local_b0[0xe] + local_b4 * 4)" (* "*") (cast_expression "(undefined ***)(local_b0[0xe] + local_b4 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(local_b0[0xe] + local_b4 * 4)" (( "(") (binary_expression "local_b0[0xe] + local_b4 * 4" (subscript_expression "local_b0[0xe]" (identifier "local_b0") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "local_b4 * 4" (identifier "local_b4") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;" (if "if") (parenthesized_expression "(local_94 != (undefined **)0x0)" (( "(") (binary_expression "local_94 != (undefined **)0x0" (identifier "local_94") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008c3f0;" (goto "goto") (statement_identifier "LAB_0008c3f0") (; ";"))) (expression_statement "*(uint *)(puVar19 + -8) = local_b4;" (assignment_expression "*(uint *)(puVar19 + -8) = local_b4" (pointer_expression "*(uint *)(puVar19 + -8)" (* "*") (cast_expression "(uint *)(puVar19 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(int **)(puVar19 + -0xc) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0xc) = local_b0" (pointer_expression "*(int **)(puVar19 + -0xc)" (* "*") (cast_expression "(int **)(puVar19 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c461;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c461" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c461")) (; ";")) (expression_statement "cVar5 = FUN_0034cd20();" (assignment_expression "cVar5 = FUN_0034cd20()" (identifier "cVar5") (= "=") (call_expression "FUN_0034cd20()" (identifier "FUN_0034cd20") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar5 != '\0') goto LAB_0008bfef;" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008bfef;" (goto "goto") (statement_identifier "LAB_0008bfef") (; ";"))) (labeled_statement "LAB_0008c478:\n          local_9c = &local_74;" (statement_identifier "LAB_0008c478") (: ":") (expression_statement "local_9c = &local_74;" (assignment_expression "local_9c = &local_74" (identifier "local_9c") (= "=") (pointer_expression "&local_74" (& "&") (identifier "local_74"))) (; ";"))) (expression_statement "local_60 = (undefined *)0x0;" (assignment_expression "local_60 = (undefined *)0x0" (identifier "local_60") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar7 = *local_b0;" (assignment_expression "iVar7 = *local_b0" (identifier "iVar7") (= "=") (pointer_expression "*local_b0" (* "*") (identifier "local_b0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar19 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar19 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(int **)(puVar19 + -0xc) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0xc) = local_b0" (pointer_expression "*(int **)(puVar19 + -0xc)" (* "*") (cast_expression "(int **)(puVar19 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "local_b8 = &local_60;" (assignment_expression "local_b8 = &local_60" (identifier "local_b8") (= "=") (pointer_expression "&local_60" (& "&") (identifier "local_60"))) (; ";")) (expression_statement "local_5c = 0xffffffff;" (assignment_expression "local_5c = 0xffffffff" (identifier "local_5c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" (identifier "local_58") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" (identifier "local_50") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(byte ***)(puVar19 + -0x10) = local_4c;" (assignment_expression "*(byte ***)(puVar19 + -0x10) = local_4c" (pointer_expression "*(byte ***)(puVar19 + -0x10)" (* "*") (cast_expression "(byte ***)(puVar19 + -0x10)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar7 + 0x40);" (assignment_expression "pcVar2 = *(code **)(iVar7 + 0x40)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar7 + 0x40)" (* "*") (cast_expression "(code **)(iVar7 + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x40)" (( "(") (binary_expression "iVar7 + 0x40" (identifier "iVar7") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c4bd" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c4bd")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar19 + -4;" (assignment_expression "puVar20 = puVar19 + -4" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = local_a8 == 0;" (assignment_expression "bVar26 = local_a8 == 0" (identifier "bVar26") (= "=") (binary_expression "local_a8 == 0" (identifier "local_a8") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar26) {\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }\n          else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (compound_statement "{\n            iVar7 = 6;\n            pbVar21 = local_4c[0];\n            pbVar22 = (byte *)((int)local_90 + -0x19cac3);\n            do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;\n            *(byte ***)(puVar19 + -0xc) = local_4c;\n            *(uint *)(puVar19 + -0x10) = local_b4;\n            *(int **)(puVar19 + -0x14) = local_b0;\n                    \n            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;\n            uVar28 = FUN_00291fb0();\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }\n            local_a8 = 1;\n            puVar19 = puVar19 + -4;\n          }" ({ "{") (expression_statement "iVar7 = 6;" (assignment_expression "iVar7 = 6" (identifier "iVar7") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19cac3);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19cac3)" (identifier "pbVar22") (= "=") (cast_expression "(byte *)((int)local_90 + -0x19cac3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + -0x19cac3)" (( "(") (binary_expression "(int)local_90 + -0x19cac3" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cac3")) () ")")))) (; ";")) (do_statement "do {\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n            } while (bVar26);" (do "do") (compound_statement "{\n              if (iVar7 == 0) break;\n              iVar7 = iVar7 + -1;\n              bVar24 = *pbVar21 < *pbVar22;\n              bVar26 = *pbVar21 == *pbVar22;\n              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *pbVar21 < *pbVar22;" (assignment_expression "bVar24 = *pbVar21 < *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar26 = *pbVar21 == *pbVar22;" (assignment_expression "bVar26 = *pbVar21 == *pbVar22" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n              iVar7 = 7;\n              pbVar21 = local_4c[0];\n              ppuVar23 = local_90 + -0x672af;\n              do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }\n            }" ({ "{") (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" (identifier "iVar7") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "ppuVar23 = local_90 + -0x672af;" (assignment_expression "ppuVar23 = local_90 + -0x672af" (identifier "ppuVar23") (= "=") (binary_expression "local_90 + -0x672af" (identifier "local_90") (+ "+") (number_literal "-0x672af"))) (; ";")) (do_statement "do {\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              } while (bVar24);" (do "do") (compound_statement "{\n                if (iVar7 == 0) break;\n                iVar7 = iVar7 + -1;\n                bVar25 = *pbVar21 < *(byte *)ppuVar23;\n                bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n              }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar25 = *pbVar21 < *(byte *)ppuVar23" (identifier "bVar25") (= "=") (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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 "(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                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                iVar7 = 0x11;\n                pbVar21 = local_4c[0];\n                ppuVar23 = local_90 + -0x672ad;\n                do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar7 = 0x11;" (assignment_expression "iVar7 = 0x11" (identifier "iVar7") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "ppuVar23 = local_90 + -0x672ad;" (assignment_expression "ppuVar23 = local_90 + -0x672ad" (identifier "ppuVar23") (= "=") (binary_expression "local_90 + -0x672ad" (identifier "local_90") (+ "+") (number_literal "-0x672ad"))) (; ";")) (do_statement "do {\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                } while (bVar24);" (do "do") (compound_statement "{\n                  if (iVar7 == 0) break;\n                  iVar7 = iVar7 + -1;\n                  bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                  bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar23" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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 "(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                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                  iVar7 = 5;\n                  pbVar21 = local_4c[0];\n                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);\n                  do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }\n                }" ({ "{") (expression_statement "iVar7 = 5;" (assignment_expression "iVar7 = 5" (identifier "iVar7") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19caa2);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19caa2)" (identifier "pbVar22") (= "=") (cast_expression "(byte *)((int)local_90 + -0x19caa2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + -0x19caa2)" (( "(") (binary_expression "(int)local_90 + -0x19caa2" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19caa2")) () ")")))) (; ";")) (do_statement "do {\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  } while (bVar24);" (do "do") (compound_statement "{\n                    if (iVar7 == 0) break;\n                    iVar7 = iVar7 + -1;\n                    bVar25 = *pbVar21 < *pbVar22;\n                    bVar24 = *pbVar21 == *pbVar22;\n                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" (identifier "bVar25") (= "=") (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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 "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                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                    iVar7 = 5;\n                    pbVar21 = local_4c[0];\n                    ppuVar23 = local_90 + -0x672a7;\n                    do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }\n                  }" ({ "{") (expression_statement "iVar7 = 5;" (assignment_expression "iVar7 = 5" (identifier "iVar7") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "ppuVar23 = local_90 + -0x672a7;" (assignment_expression "ppuVar23 = local_90 + -0x672a7" (identifier "ppuVar23") (= "=") (binary_expression "local_90 + -0x672a7" (identifier "local_90") (+ "+") (number_literal "-0x672a7"))) (; ";")) (do_statement "do {\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    } while (bVar24);" (do "do") (compound_statement "{\n                      if (iVar7 == 0) break;\n                      iVar7 = iVar7 + -1;\n                      bVar26 = *pbVar21 < *(byte *)ppuVar23;\n                      bVar24 = *pbVar21 == *(byte *)ppuVar23;\n                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                    }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar21 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar23" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 < *(byte *)ppuVar23" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar23" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *(byte *)ppuVar23" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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 "(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                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                      iVar7 = 4;\n                      pbVar21 = local_4c[0];\n                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);\n                      do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }\n                    }" ({ "{") (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" (identifier "iVar7") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19ca96);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19ca96)" (identifier "pbVar22") (= "=") (cast_expression "(byte *)((int)local_90 + -0x19ca96)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + -0x19ca96)" (( "(") (binary_expression "(int)local_90 + -0x19ca96" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19ca96")) () ")")))) (; ";")) (do_statement "do {\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      } while (bVar24);" (do "do") (compound_statement "{\n                        if (iVar7 == 0) break;\n                        iVar7 = iVar7 + -1;\n                        bVar25 = *pbVar21 < *pbVar22;\n                        bVar24 = *pbVar21 == *pbVar22;\n                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                      }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" (identifier "bVar25") (= "=") (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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 "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                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                        iVar7 = 10;\n                        pbVar21 = local_4c[0];\n                        pbVar22 = (byte *)((int)local_90 + -0x19a212);\n                        do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }\n                        goto LAB_0008c74a;\n                      }" ({ "{") (expression_statement "iVar7 = 10;" (assignment_expression "iVar7 = 10" (identifier "iVar7") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19a212);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19a212)" (identifier "pbVar22") (= "=") (cast_expression "(byte *)((int)local_90 + -0x19a212)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + -0x19a212)" (( "(") (binary_expression "(int)local_90 + -0x19a212" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19a212")) () ")")))) (; ";")) (do_statement "do {\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        } while (bVar24);" (do "do") (compound_statement "{\n                          if (iVar7 == 0) break;\n                          iVar7 = iVar7 + -1;\n                          bVar26 = *pbVar21 < *pbVar22;\n                          bVar24 = *pbVar21 == *pbVar22;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar21 < *pbVar22;" (assignment_expression "bVar26 = *pbVar21 < *pbVar22" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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 "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                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                          iVar7 = 0x12;\n                          pbVar21 = local_4c[0];\n                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);\n                          do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;\n                        }" ({ "{") (expression_statement "iVar7 = 0x12;" (assignment_expression "iVar7 = 0x12" (identifier "iVar7") (= "=") (number_literal "0x12")) (; ";")) (expression_statement "pbVar21 = local_4c[0];" (assignment_expression "pbVar21 = local_4c[0]" (identifier "pbVar21") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar22 = (byte *)((int)local_90 + -0x19ca91);" (assignment_expression "pbVar22 = (byte *)((int)local_90 + -0x19ca91)" (identifier "pbVar22") (= "=") (cast_expression "(byte *)((int)local_90 + -0x19ca91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + -0x19ca91)" (( "(") (binary_expression "(int)local_90 + -0x19ca91" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19ca91")) () ")")))) (; ";")) (do_statement "do {\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          } while (bVar24);" (do "do") (compound_statement "{\n                            if (iVar7 == 0) break;\n                            iVar7 = iVar7 + -1;\n                            bVar25 = *pbVar21 < *pbVar22;\n                            bVar24 = *pbVar21 == *pbVar22;\n                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                          }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar21 < *pbVar22;" (assignment_expression "bVar25 = *pbVar21 < *pbVar22" (identifier "bVar25") (= "=") (binary_expression "*pbVar21 < *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *pbVar22;" (assignment_expression "bVar24 = *pbVar21 == *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *pbVar22" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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") () ")")) (; ";")) (if_statement "if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;" (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")) () ")")) (goto_statement "goto LAB_0008c67e;" (goto "goto") (statement_identifier "LAB_0008c67e") (; ";"))) (} "}"))) (goto_statement "goto LAB_0008c74a;" (goto "goto") (statement_identifier "LAB_0008c74a") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0008c4f4:\n            *(undefined1 ***)(puVar19 + -8) = local_34;" (statement_identifier "LAB_0008c4f4") (: ":") (expression_statement "*(undefined1 ***)(puVar19 + -8) = local_34;" (assignment_expression "*(undefined1 ***)(puVar19 + -8) = local_34" (pointer_expression "*(undefined1 ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined1 ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_34")) (; ";"))) (expression_statement "*(byte ***)(puVar19 + -0xc) = local_4c;" (assignment_expression "*(byte ***)(puVar19 + -0xc) = local_4c" (pointer_expression "*(byte ***)(puVar19 + -0xc)" (* "*") (cast_expression "(byte ***)(puVar19 + -0xc)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "*(uint *)(puVar19 + -0x10) = local_b4;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_b4" (pointer_expression "*(uint *)(puVar19 + -0x10)" (* "*") (cast_expression "(uint *)(puVar19 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(int **)(puVar19 + -0x14) = local_b0;" (assignment_expression "*(int **)(puVar19 + -0x14) = local_b0" (pointer_expression "*(int **)(puVar19 + -0x14)" (* "*") (cast_expression "(int **)(puVar19 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c510;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c510" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8c510")) (; ";")) (expression_statement "uVar28 = FUN_00291fb0();" (assignment_expression "uVar28 = FUN_00291fb0()" (identifier "uVar28") (= "=") (call_expression "FUN_00291fb0()" (identifier "FUN_00291fb0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" (identifier "local_50") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((char)local_34[0] != '\0') {\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }" (if "if") (parenthesized_expression "((char)local_34[0] != '\0')" (( "(") (binary_expression "(char)local_34[0] != '\0'" (cast_expression "(char)local_34[0]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              local_54 = local_a4[3] + (uint)uVar28;\n              local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);\n            }" ({ "{") (expression_statement "local_54 = local_a4[3] + (uint)uVar28;" (assignment_expression "local_54 = local_a4[3] + (uint)uVar28" (identifier "local_54") (= "=") (binary_expression "local_a4[3] + (uint)uVar28" (subscript_expression "local_a4[3]" (identifier "local_a4") ([ "[") (number_literal "3") (] "]")) (+ "+") (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28")))) (; ";")) (expression_statement "local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "local_50 = local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20)" (identifier "local_50") (= "=") (binary_expression "local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +\n                         (int)((ulonglong)uVar28 >> 0x20)" (binary_expression "local_a4[4] +\n                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3])" (subscript_expression "local_a4[4]" (identifier "local_a4") ([ "[") (number_literal "4") (] "]")) (+ "+") (cast_expression "(uint)CARRY4((uint)uVar28,(uint)local_a4[3])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)uVar28,(uint)local_a4[3])" (identifier "CARRY4") (argument_list "((uint)uVar28,(uint)local_a4[3])" (( "(") (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28")) (, ",") (cast_expression "(uint)local_a4[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a4[3]" (identifier "local_a4") ([ "[") (number_literal "3") (] "]"))) () ")"))))) (+ "+") (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (} "}"))) (expression_statement "local_a8 = 1;" (assignment_expression "local_a8 = 1" (identifier "local_a8") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar19 = puVar19 + -4;" (assignment_expression "puVar19 = puVar19 + -4" (identifier "puVar19") (= "=") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4"))) (; ";")) (} "}")) (else_clause "else {\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" (else "else") (compound_statement "{\n            if (local_a8 == 1) goto LAB_0008c4f4;\n            if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }\n            local_54 = (undefined *)0x0;\n            local_50 = (undefined *)0x0;\n            puVar19 = puVar20;\n          }" ({ "{") (if_statement "if (local_a8 == 1) goto LAB_0008c4f4;" (if "if") (parenthesized_expression "(local_a8 == 1)" (( "(") (binary_expression "local_a8 == 1" (identifier "local_a8") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0008c4f4;" (goto "goto") (statement_identifier "LAB_0008c4f4") (; ";"))) (if_statement "if (local_a8 == 3) {\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }\n            else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" (if "if") (parenthesized_expression "(local_a8 == 3)" (( "(") (binary_expression "local_a8 == 3" (identifier "local_a8") (== "==") (number_literal "3")) () ")")) (compound_statement "{\nLAB_0008c67e:\n              uVar8 = param_2[2];\n              if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }\n              *(undefined1 **)(puVar20 + -4) = &local_81;\n              *(undefined1 **)(puVar20 + -8) = local_7c;\n              *(uint *)(puVar20 + -0xc) = local_ac;\n              *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;\n              iVar7 = FUN_002986d0();\n              if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }\n              local_a8 = 3;\n            }" ({ "{") (labeled_statement "LAB_0008c67e:\n              uVar8 = param_2[2];" (statement_identifier "LAB_0008c67e") (: ":") (expression_statement "uVar8 = param_2[2];" (assignment_expression "uVar8 = param_2[2]" (identifier "uVar8") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (if_statement "if (local_94 == (undefined **)0x0) {\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }\n              else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" (if "if") (parenthesized_expression "(local_94 == (undefined **)0x0)" (( "(") (binary_expression "local_94 == (undefined **)0x0" (identifier "local_94") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(uint *)(puVar19 + -0x10) = local_ac;\n                *(undefined4 *)(puVar19 + -0x14) = uVar8;\n                    \n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;\n                uVar9 = FUN_002990a0();\n                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;\n                uVar11 = gettext();\n                *(uint *)(puVar19 + -0xc) = local_ac;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = uVar11;\n                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x1c) = local_a0;\n                *(int *)(puVar19 + -0x20) = local_98;\n                *(undefined4 **)(puVar19 + -0x24) = param_2;\n                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -4;\n              }" ({ "{") (expression_statement "*(uint *)(puVar19 + -0x10) = local_ac;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_ac" (pointer_expression "*(uint *)(puVar19 + -0x10)" (* "*") (cast_expression "(uint *)(puVar19 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c7c5" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8c7c5")) (; ";")) (expression_statement "uVar9 = FUN_002990a0();" (assignment_expression "uVar9 = FUN_002990a0()" (identifier "uVar9") (= "=") (call_expression "FUN_002990a0()" (identifier "FUN_002990a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;" (assignment_expression "*(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa" (pointer_expression "*(undefined ***)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "local_90 + -0x671fa" (identifier "local_90") (+ "+") (number_literal "-0x671fa"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c7db;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c7db" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8c7db")) (; ";")) (expression_statement "uVar11 = gettext();" (assignment_expression "uVar11 = gettext()" (identifier "uVar11") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar19 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar19 + -0xc)" (* "*") (cast_expression "(uint *)(puVar19 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = uVar11;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = uVar11" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x18)" (* "*") (cast_expression "(int *)(puVar19 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar19 + -0x1c) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x1c) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x1c)" (* "*") (cast_expression "(uint *)(puVar19 + -0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x20) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x20) = local_98" (pointer_expression "*(int *)(puVar19 + -0x20)" (* "*") (cast_expression "(int *)(puVar19 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x20)" (( "(") (binary_expression "puVar19 + -0x20" (identifier "puVar19") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 **)(puVar19 + -0x24) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x24) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x24)" (* "*") (cast_expression "(undefined4 **)(puVar19 + -0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x24)" (( "(") (binary_expression "puVar19 + -0x24" (identifier "puVar19") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x28) = 0x8c803;" (assignment_expression "*(undefined4 *)(puVar19 + -0x28) = 0x8c803" (pointer_expression "*(undefined4 *)(puVar19 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x28)" (( "(") (binary_expression "puVar19 + -0x28" (identifier "puVar19") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (number_literal "0x8c803")) (; ";")) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" (identifier "FUN_0023bf10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar19 + -4;" (assignment_expression "puVar20 = puVar19 + -4" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4"))) (; ";")) (} "}")) (else_clause "else {\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" (else "else") (compound_statement "{\n                *(undefined ***)(puVar19 + -0x10) = local_94;\n                *(undefined1 ***)(puVar19 + -0x14) = local_34;\n                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;\n                FUN_0034dd40();\n                puVar4 = local_34[0];\n                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;\n                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;\n                uVar9 = gettext();\n                *(undefined1 **)(puVar19 + -0x14) = puVar4;\n                *(undefined4 *)(puVar19 + -0x18) = uVar9;\n                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x20) = local_a0;\n                *(int *)(puVar19 + -0x24) = local_98;\n                *(undefined4 **)(puVar19 + -0x28) = param_2;\n                    \n                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;\n                FUN_0023bf10();\n                puVar20 = puVar19 + -8;\n                if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined1 ***)(puVar19 + -0x14) = local_34;" (assignment_expression "*(undefined1 ***)(puVar19 + -0x14) = local_34" (pointer_expression "*(undefined1 ***)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined1 ***)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = 0x8c6aa" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x8c6aa")) (; ";")) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" (identifier "FUN_0034dd40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar4 = local_34[0];" (assignment_expression "puVar4 = local_34[0]" (identifier "puVar4") (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;" (assignment_expression "*(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4" (pointer_expression "*(undefined ***)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "local_90 + -0x671e4" (identifier "local_90") (+ "+") (number_literal "-0x671e4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;" (assignment_expression "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf" (pointer_expression "*(undefined4 *)(puVar19 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x8c6bf")) (; ";")) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" (identifier "uVar9") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined1 **)(puVar19 + -0x14) = puVar4;" (assignment_expression "*(undefined1 **)(puVar19 + -0x14) = puVar4" (pointer_expression "*(undefined1 **)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "puVar4")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x18) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x18) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x1c)" (* "*") (cast_expression "(int *)(puVar19 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar19 + -0x20) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x20) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x20)" (* "*") (cast_expression "(uint *)(puVar19 + -0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x20)" (( "(") (binary_expression "puVar19 + -0x20" (identifier "puVar19") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x24) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x24) = local_98" (pointer_expression "*(int *)(puVar19 + -0x24)" (* "*") (cast_expression "(int *)(puVar19 + -0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x24)" (( "(") (binary_expression "puVar19 + -0x24" (identifier "puVar19") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 **)(puVar19 + -0x28) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x28) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x28)" (* "*") (cast_expression "(undefined4 **)(puVar19 + -0x28)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x28)" (( "(") (binary_expression "puVar19 + -0x28" (identifier "puVar19") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2" (pointer_expression "*(undefined4 *)(puVar19 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x2c)" (( "(") (binary_expression "puVar19 + -0x2c" (identifier "puVar19") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (number_literal "0x8c6e2")) (; ";")) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" (identifier "FUN_0023bf10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar19 + -8;" (assignment_expression "puVar20 = puVar19 + -8" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8"))) (; ";")) (if_statement "if (local_34[0] != local_2c) {\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }" (if "if") (parenthesized_expression "(local_34[0] != local_2c)" (( "(") (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];\n                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;\n                  FUN_003ae080();\n                  puVar20 = puVar19 + -8;\n                }" ({ "{") (expression_statement "*(undefined1 **)(puVar19 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)(puVar19 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8" (pointer_expression "*(undefined4 *)(puVar19 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x8c6f8")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar19 + -8;" (assignment_expression "puVar20 = puVar19 + -8" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "*(undefined1 **)(puVar20 + -4) = &local_81;" (assignment_expression "*(undefined1 **)(puVar20 + -4) = &local_81" (pointer_expression "*(undefined1 **)(puVar20 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&local_81" (& "&") (identifier "local_81"))) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + -8) = local_7c;" (assignment_expression "*(undefined1 **)(puVar20 + -8) = local_7c" (pointer_expression "*(undefined1 **)(puVar20 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_7c")) (; ";")) (expression_statement "*(uint *)(puVar20 + -0xc) = local_ac;" (assignment_expression "*(uint *)(puVar20 + -0xc) = local_ac" (pointer_expression "*(uint *)(puVar20 + -0xc)" (* "*") (cast_expression "(uint *)(puVar20 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c715;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c715" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c715")) (; ";")) (expression_statement "iVar7 = FUN_002986d0();" (assignment_expression "iVar7 = FUN_002986d0()" (identifier "iVar7") (= "=") (call_expression "FUN_002986d0()" (identifier "FUN_002986d0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(int **)(puVar20 + -8) = &local_80;\n                *(int *)(puVar20 + -0xc) = iVar7;\n                *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;\n                iVar7 = FUN_00292240();\n                if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }\n                if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }\n              }" ({ "{") (expression_statement "*(int **)(puVar20 + -8) = &local_80;" (assignment_expression "*(int **)(puVar20 + -8) = &local_80" (pointer_expression "*(int **)(puVar20 + -8)" (* "*") (cast_expression "(int **)(puVar20 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_80" (& "&") (identifier "local_80"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar7" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c824;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c824" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c824")) (; ";")) (expression_statement "iVar7 = FUN_00292240();" (assignment_expression "iVar7 = FUN_00292240()" (identifier "iVar7") (= "=") (call_expression "FUN_00292240()" (identifier "FUN_00292240") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_80 != 0) {\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }" (if "if") (parenthesized_expression "(local_80 != 0)" (( "(") (binary_expression "local_80 != 0" (identifier "local_80") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(int *)(puVar20 + -0xc) = local_80;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar8;\n                    \n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;\n                  uVar8 = FUN_002990a0();\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;\n                  FUN_0023b870();\n                }" ({ "{") (expression_statement "*(int *)(puVar20 + -0xc) = local_80;" (assignment_expression "*(int *)(puVar20 + -0xc) = local_80" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8cce0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8cce0" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cce0")) (; ";")) (expression_statement "uVar8 = FUN_002990a0();" (assignment_expression "uVar8 = FUN_002990a0()" (identifier "uVar8") (= "=") (call_expression "FUN_002990a0()" (identifier "FUN_002990a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;" (assignment_expression "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf" (pointer_expression "*(undefined ***)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_90 + -0x671cf" (identifier "local_90") (+ "+") (number_literal "-0x671cf"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8ccf6" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ccf6")) (; ";")) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" (identifier "uVar9") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8cd05;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8cd05" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cd05")) (; ";")) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" (identifier "FUN_0023b870") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar7 != 0) {\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar8 = *(undefined4 *)(iVar7 + 4);\n                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;\n                  uVar9 = gettext();\n                  *(undefined4 *)(puVar20 + -0xc) = uVar8;\n                  *(undefined4 *)(puVar20 + -0x10) = uVar9;\n                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;\n                  FUN_0023b870();\n                }" ({ "{") (expression_statement "uVar8 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar8 = *(undefined4 *)(iVar7 + 4)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;" (assignment_expression "*(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7" (pointer_expression "*(undefined ***)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_90 + -0x671c7" (identifier "local_90") (+ "+") (number_literal "-0x671c7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c856;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c856" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c856")) (; ";")) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" (identifier "uVar9") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x8c85f;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x8c85f" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c85f")) (; ";")) (expression_statement "FUN_0023b870();" (call_expression "FUN_0023b870()" (identifier "FUN_0023b870") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_a8 = 3;" (assignment_expression "local_a8 = 3" (identifier "local_a8") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\nLAB_0008c74a:\n              local_a8 = 2;\n            }" (else "else") (compound_statement "{\nLAB_0008c74a:\n              local_a8 = 2;\n            }" ({ "{") (labeled_statement "LAB_0008c74a:\n              local_a8 = 2;" (statement_identifier "LAB_0008c74a") (: ":") (expression_statement "local_a8 = 2;" (assignment_expression "local_a8 = 2" (identifier "local_a8") (= "=") (number_literal "2")) (; ";"))) (} "}")))) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" (identifier "local_50") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar19 = puVar20;" (assignment_expression "puVar19 = puVar20" (identifier "puVar19") (= "=") (identifier "puVar20")) (; ";")) (} "}")))) (if_statement "if (local_60 != (undefined *)0x0) {\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(local_60 != (undefined *)0x0)" (( "(") (binary_expression "local_60 != (undefined *)0x0" (identifier "local_60") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n            *(undefined4 *)(puVar19 + -0xc) = 0x716;\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                    \n            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65e18" (identifier "local_90") (+ "+") (number_literal "-0x65e18"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x716")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;" (assignment_expression "*(undefined **)(puVar19 + -0x14) = &UNK_0008cd92" (pointer_expression "*(undefined **)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008cd92" (& "&") (identifier "UNK_0008cd92"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_60 = (undefined *)0xffffffff;" (assignment_expression "local_60 = (undefined *)0xffffffff" (identifier "local_60") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (local_4c[0] != local_44) {\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }" (if "if") (parenthesized_expression "(local_4c[0] != local_44)" (( "(") (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_44")) () ")")) (compound_statement "{\n            *(byte **)(puVar19 + -0x10) = local_4c[0];\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;\n            FUN_003ae080();\n          }" ({ "{") (expression_statement "*(byte **)(puVar19 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)(puVar19 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)(puVar19 + -0x10)" (* "*") (cast_expression "(byte **)(puVar19 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c568;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c568" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c568")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_a4 = &local_60;" (assignment_expression "local_a4 = &local_60" (identifier "local_a4") (= "=") (pointer_expression "&local_60" (& "&") (identifier "local_60"))) (; ";")) (if_statement "if (-1 < (int)local_a0) goto LAB_0008c029;" (if "if") (parenthesized_expression "(-1 < (int)local_a0)" (( "(") (binary_expression "-1 < (int)local_a0" (number_literal "-1") (< "<") (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0"))) () ")")) (goto_statement "goto LAB_0008c029;" (goto "goto") (statement_identifier "LAB_0008c029") (; ";"))) (labeled_statement "LAB_0008c588:\n          iVar7 = 0;" (statement_identifier "LAB_0008c588") (: ":") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" (else "else") (compound_statement "{\n          if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }\n          local_74 = puVar10;\n          local_68 = local_94[0xc];\n          local_64 = local_94[0xd];\n          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }\n          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }\n          local_a4 = &local_74;\nLAB_0008bfef:\n          local_9c = &local_74;\n          local_60 = (undefined *)0x0;\n          local_5c = 0xffffffff;\n          local_58 = 0x80000000;\n          local_54 = (undefined *)0x0;\n          local_50 = (undefined *)0x0;\n          if ((int)local_a0 < 0) goto LAB_0008c588;\nLAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;\n          iVar7 = local_a0 + param_8;\n        }" ({ "{") (if_statement "if ((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))\n          {\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }\n          else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" (if "if") (parenthesized_expression "((param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))" (( "(") (binary_expression "(param_12 == (int *)0x0) ||\n             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0)" (parenthesized_expression "(param_12 == (int *)0x0)" (( "(") (binary_expression "param_12 == (int *)0x0" (identifier "param_12") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0)" (( "(") (comma_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0" (assignment_expression "local_94 = *(undefined ***)(*param_12 + local_98 * 4)" (identifier "local_94") (= "=") (pointer_expression "*(undefined ***)(*param_12 + local_98 * 4)" (* "*") (cast_expression "(undefined ***)(*param_12 + local_98 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*param_12 + local_98 * 4)" (( "(") (binary_expression "*param_12 + local_98 * 4" (pointer_expression "*param_12" (* "*") (identifier "param_12")) (+ "+") (binary_expression "local_98 * 4" (identifier "local_98") (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "local_94 == (undefined **)0x0" (identifier "local_94") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n            if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }\n            uVar13 = local_ac - local_b0[0x2c];\n            local_94 = (undefined **)local_b0[0x30];\n            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }\n            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);\n            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;\n            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;\n            *(undefined ***)(puVar19 + -0xc) = local_94;\n            *(undefined4 *)(puVar19 + -0x10) = *param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;\n            local_94 = (undefined **)FUN_0034cd90();\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }\n            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }\nLAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }\n          }" ({ "{") (if_statement "if (local_ac < (uint)local_b0[0x2c]) {\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "(local_ac < (uint)local_b0[0x2c])" (( "(") (binary_expression "local_ac < (uint)local_b0[0x2c]" (identifier "local_ac") (< "<") (cast_expression "(uint)local_b0[0x2c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_b0[0x2c]" (identifier "local_b0") ([ "[") (number_literal "0x2c") (] "]")))) () ")")) (compound_statement "{\nLAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;\n              *(undefined4 *)(puVar19 + -0xc) = 0x17f;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;\n              FUN_002446e0();\n            }" ({ "{") (labeled_statement "LAB_0008cd98:\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;" (statement_identifier "LAB_0008cd98") (: ":") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e11" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65e11" (identifier "local_90") (+ "+") (number_literal "-0x65e11"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x17f;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x17f" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x17f")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cb27"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdb9" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cdb9")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar13 = local_ac - local_b0[0x2c];" (assignment_expression "uVar13 = local_ac - local_b0[0x2c]" (identifier "uVar13") (= "=") (binary_expression "local_ac - local_b0[0x2c]" (identifier "local_ac") (- "-") (subscript_expression "local_b0[0x2c]" (identifier "local_b0") ([ "[") (number_literal "0x2c") (] "]")))) (; ";")) (expression_statement "local_94 = (undefined **)local_b0[0x30];" (assignment_expression "local_94 = (undefined **)local_b0[0x30]" (identifier "local_94") (= "=") (cast_expression "(undefined **)local_b0[0x30]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_b0[0x30]" (identifier "local_b0") ([ "[") (number_literal "0x30") (] "]")))) (; ";")) (if_statement "if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13)" (( "(") (binary_expression "(uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13" (call_expression "(uint)((int)local_94 - local_b0[0x2f] >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_94 - local_b0[0x2f] >> 2)" (( "(") (binary_expression "(int)local_94 - local_b0[0x2f] >> 2" (binary_expression "(int)local_94 - local_b0[0x2f]" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (- "-") (subscript_expression "local_b0[0x2f]" (identifier "local_b0") ([ "[") (number_literal "0x2f") (] "]"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;\n              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65dcc" (identifier "local_90") (+ "+") (number_literal "-0x65dcc"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8ad")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cdfb" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cdfb")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);" (assignment_expression "local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4)" (identifier "local_94") (= "=") (pointer_expression "*(undefined ***)(local_b0[0x2f] + uVar13 * 4)" (* "*") (cast_expression "(undefined ***)(local_b0[0x2f] + uVar13 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(local_b0[0x2f] + uVar13 * 4)" (( "(") (binary_expression "local_b0[0x2f] + uVar13 * 4" (subscript_expression "local_b0[0x2f]" (identifier "local_b0") ([ "[") (number_literal "0x2f") (] "]")) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (local_94 == (undefined **)0x0) goto LAB_0008cd98;" (if "if") (parenthesized_expression "(local_94 == (undefined **)0x0)" (( "(") (binary_expression "local_94 == (undefined **)0x0" (identifier "local_94") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0008cd98;" (goto "goto") (statement_identifier "LAB_0008cd98") (; ";"))) (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;" (if "if") (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 0x10)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008bf67;" (goto "goto") (statement_identifier "LAB_0008bf67") (; ";"))) (expression_statement "*(undefined ***)(puVar19 + -0xc) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0xc) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = *param_2;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = *param_2" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c2bd" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c2bd")) (; ";")) (expression_statement "local_94 = (undefined **)FUN_0034cd90();" (assignment_expression "local_94 = (undefined **)FUN_0034cd90()" (identifier "local_94") (= "=") (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 "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar10 = local_94[4];" (assignment_expression "puVar10 = local_94[4]" (identifier "puVar10") (= "=") (subscript_expression "local_94[4]" (identifier "local_94") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "puVar17 = puVar10 + -1;" (assignment_expression "puVar17 = puVar10 + -1" (identifier "puVar17") (= "=") (binary_expression "puVar10 + -1" (identifier "puVar10") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if ((undefined *)0xfffffffd < puVar17) {\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }" (if "if") (parenthesized_expression "((undefined *)0xfffffffd < puVar17)" (( "(") (binary_expression "(undefined *)0xfffffffd < puVar17" (cast_expression "(undefined *)0xfffffffd" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffd")) (< "<") (identifier "puVar17")) () ")")) (compound_statement "{\n              if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }\n              goto LAB_0008bf7c;\n            }" ({ "{") (if_statement "if (local_74 != (undefined *)0x0) {\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }" (if "if") (parenthesized_expression "(local_74 != (undefined *)0x0)" (( "(") (binary_expression "local_74 != (undefined *)0x0" (identifier "local_74") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;\n                *(undefined4 *)(puVar19 + -0xc) = 0x716;\n                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;\n                FUN_002446e0();\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65e18" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65e18" (identifier "local_90") (+ "+") (number_literal "-0x65e18"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x716;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x716" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x716")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;" (assignment_expression "*(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd" (pointer_expression "*(undefined **)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0008c2fd" (& "&") (identifier "UNK_0008c2fd"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0008bf7c;" (goto "goto") (statement_identifier "LAB_0008bf7c") (; ";")) (} "}"))) (if_statement "if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe))" (( "(") (binary_expression "(local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)" (parenthesized_expression "(local_74 != (undefined *)0x0)" (( "(") (binary_expression "local_74 != (undefined *)0x0" (identifier "local_74") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_74 != (undefined *)0xfffffffe)" (( "(") (binary_expression "local_74 != (undefined *)0xfffffffe" (identifier "local_74") (!= "!=") (cast_expression "(undefined *)0xfffffffe" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffe"))) () ")"))) () ")")) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70c;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65d5b" (identifier "local_90") (+ "+") (number_literal "-0x65d5b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x70c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x70c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x70c")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce1c" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ce1c")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0008c350:\n            if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" (statement_identifier "LAB_0008c350") (: ":") (if_statement "if (puVar17 == (undefined *)0xfffffffd) {\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "(puVar17 == (undefined *)0xfffffffd)" (( "(") (binary_expression "puVar17 == (undefined *)0xfffffffd" (identifier "puVar17") (== "==") (cast_expression "(undefined *)0xfffffffd" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffd"))) () ")")) (compound_statement "{\n              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;\n              *(undefined4 *)(puVar19 + -0xc) = 0x70d;\n              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;\n                    \n              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65d5b" (identifier "local_90") (+ "+") (number_literal "-0x65d5b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x70d;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x70d" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x70d")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cc7b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce3d" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ce3d")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" (else "else") (compound_statement "{\nLAB_0008bf67:\n            puVar10 = local_94[4];\n            puVar17 = puVar10 + -1;\n            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;\nLAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;\n            puVar10 = local_74;\n          }" ({ "{") (labeled_statement "LAB_0008bf67:\n            puVar10 = local_94[4];" (statement_identifier "LAB_0008bf67") (: ":") (expression_statement "puVar10 = local_94[4];" (assignment_expression "puVar10 = local_94[4]" (identifier "puVar10") (= "=") (subscript_expression "local_94[4]" (identifier "local_94") ([ "[") (number_literal "4") (] "]"))) (; ";"))) (expression_statement "puVar17 = puVar10 + -1;" (assignment_expression "puVar17 = puVar10 + -1" (identifier "puVar17") (= "=") (binary_expression "puVar10 + -1" (identifier "puVar10") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;" (if "if") (parenthesized_expression "(puVar17 < (undefined *)0xfffffffe)" (( "(") (binary_expression "puVar17 < (undefined *)0xfffffffe" (identifier "puVar17") (< "<") (cast_expression "(undefined *)0xfffffffe" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffe"))) () ")")) (goto_statement "goto LAB_0008c350;" (goto "goto") (statement_identifier "LAB_0008c350") (; ";"))) (labeled_statement "LAB_0008bf7c:\n            local_74 = (undefined *)0xffffffff;" (statement_identifier "LAB_0008bf7c") (: ":") (expression_statement "local_74 = (undefined *)0xffffffff;" (assignment_expression "local_74 = (undefined *)0xffffffff" (identifier "local_74") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";"))) (expression_statement "puVar10 = local_74;" (assignment_expression "puVar10 = local_74" (identifier "puVar10") (= "=") (identifier "local_74")) (; ";")) (} "}")))) (expression_statement "local_74 = puVar10;" (assignment_expression "local_74 = puVar10" (identifier "local_74") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "local_68 = local_94[0xc];" (assignment_expression "local_68 = local_94[0xc]" (identifier "local_68") (= "=") (subscript_expression "local_94[0xc]" (identifier "local_94") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "local_64 = local_94[0xd];" (assignment_expression "local_64 = local_94[0xd]" (identifier "local_64") (= "=") (subscript_expression "local_94[0xd]" (identifier "local_94") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (if_statement "if ((*(byte *)(local_94 + 10) & 0xf) == 6) {\n            local_6c = local_6c | 0x20000000;\n          }\n          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" (if "if") (parenthesized_expression "((*(byte *)(local_94 + 10) & 0xf) == 6)" (( "(") (binary_expression "(*(byte *)(local_94 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(local_94 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(local_94 + 10) & 0xf" (pointer_expression "*(byte *)(local_94 + 10)" (* "*") (cast_expression "(byte *)(local_94 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 10)" (( "(") (binary_expression "local_94 + 10" (identifier "local_94") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "6")) () ")")) (compound_statement "{\n            local_6c = local_6c | 0x20000000;\n          }" ({ "{") (expression_statement "local_6c = local_6c | 0x20000000;" (assignment_expression "local_6c = local_6c | 0x20000000" (identifier "local_6c") (= "=") (binary_expression "local_6c | 0x20000000" (identifier "local_6c") (| "|") (number_literal "0x20000000"))) (; ";")) (} "}")) (else_clause "else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" (else "else") (if_statement "if ((*(byte *)(local_94 + 10) & 0xf) == 10) {\n            local_6c = local_6c | 0x40000000;\n          }" (if "if") (parenthesized_expression "((*(byte *)(local_94 + 10) & 0xf) == 10)" (( "(") (binary_expression "(*(byte *)(local_94 + 10) & 0xf) == 10" (parenthesized_expression "(*(byte *)(local_94 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(local_94 + 10) & 0xf" (pointer_expression "*(byte *)(local_94 + 10)" (* "*") (cast_expression "(byte *)(local_94 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 10)" (( "(") (binary_expression "local_94 + 10" (identifier "local_94") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            local_6c = local_6c | 0x40000000;\n          }" ({ "{") (expression_statement "local_6c = local_6c | 0x40000000;" (assignment_expression "local_6c = local_6c | 0x40000000" (identifier "local_6c") (= "=") (binary_expression "local_6c | 0x40000000" (identifier "local_6c") (| "|") (number_literal "0x40000000"))) (; ";")) (} "}"))))) (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }" (if "if") (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" (( "(") (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;\n          }" ({ "{") (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }\n            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" (if "if") (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }\n            }" ({ "{") (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }" (if "if") (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" (( "(") (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" (identifier "local_94") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0008cc18:\n                local_b4 = 0;\n                local_a4 = &local_74;\n                goto LAB_0008c478;\n              }" ({ "{") (labeled_statement "LAB_0008cc18:\n                local_b4 = 0;" (statement_identifier "LAB_0008cc18") (: ":") (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_a4 = &local_74;" (assignment_expression "local_a4 = &local_74" (identifier "local_a4") (= "=") (pointer_expression "&local_74" (& "&") (identifier "local_74"))) (; ";")) (goto_statement "goto LAB_0008c478;" (goto "goto") (statement_identifier "LAB_0008c478") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" (else "else") (if_statement "if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;" (if "if") (parenthesized_expression "((*(byte *)((int)local_94 + 0x2a) & 7) == 4)" (( "(") (binary_expression "(*(byte *)((int)local_94 + 0x2a) & 7) == 4" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0008cc18;" (goto "goto") (statement_identifier "LAB_0008cc18") (; ";"))))) (} "}"))) (expression_statement "local_a4 = &local_74;" (assignment_expression "local_a4 = &local_74" (identifier "local_a4") (= "=") (pointer_expression "&local_74" (& "&") (identifier "local_74"))) (; ";")) (labeled_statement "LAB_0008bfef:\n          local_9c = &local_74;" (statement_identifier "LAB_0008bfef") (: ":") (expression_statement "local_9c = &local_74;" (assignment_expression "local_9c = &local_74" (identifier "local_9c") (= "=") (pointer_expression "&local_74" (& "&") (identifier "local_74"))) (; ";"))) (expression_statement "local_60 = (undefined *)0x0;" (assignment_expression "local_60 = (undefined *)0x0" (identifier "local_60") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_5c = 0xffffffff;" (assignment_expression "local_5c = 0xffffffff" (identifier "local_5c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_58 = 0x80000000;" (assignment_expression "local_58 = 0x80000000" (identifier "local_58") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_54 = (undefined *)0x0;" (assignment_expression "local_54 = (undefined *)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = (undefined *)0x0;" (assignment_expression "local_50 = (undefined *)0x0" (identifier "local_50") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((int)local_a0 < 0) goto LAB_0008c588;" (if "if") (parenthesized_expression "((int)local_a0 < 0)" (( "(") (binary_expression "(int)local_a0 < 0" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008c588;" (goto "goto") (statement_identifier "LAB_0008c588") (; ";"))) (labeled_statement "LAB_0008c029:\n          if (param_11 <= local_a0) goto LAB_0008c588;" (statement_identifier "LAB_0008c029") (: ":") (if_statement "if (param_11 <= local_a0) goto LAB_0008c588;" (if "if") (parenthesized_expression "(param_11 <= local_a0)" (( "(") (binary_expression "param_11 <= local_a0" (identifier "param_11") (<= "<=") (identifier "local_a0")) () ")")) (goto_statement "goto LAB_0008c588;" (goto "goto") (statement_identifier "LAB_0008c588") (; ";")))) (expression_statement "iVar7 = local_a0 + param_8;" (assignment_expression "iVar7 = local_a0 + param_8" (identifier "iVar7") (= "=") (binary_expression "local_a0 + param_8" (identifier "local_a0") (+ "+") (identifier "param_8"))) (; ";")) (} "}")))) (expression_statement "local_b8 = &local_60;" (assignment_expression "local_b8 = &local_60" (identifier "local_b8") (= "=") (pointer_expression "&local_60" (& "&") (identifier "local_60"))) (; ";")) (expression_statement "*(uint *)(puVar19 + -4) = param_11;" (assignment_expression "*(uint *)(puVar19 + -4) = param_11" (pointer_expression "*(uint *)(puVar19 + -4)" (* "*") (cast_expression "(uint *)(puVar19 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "param_11")) (; ";")) (expression_statement "unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));" (assignment_expression "unaff_EDI = (undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" (identifier "unaff_EDI") (= "=") (cast_expression "(undefined **)\n                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4))" (( "(") (binary_expression "((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4)" (binary_expression "((int)local_a0 >> 0x1f) + local_c0" (parenthesized_expression "((int)local_a0 >> 0x1f)" (( "(") (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (identifier "local_c0")) (+ "+") (cast_expression "(uint)CARRY4(local_a0,local_c4)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_a0,local_c4)" (identifier "CARRY4") (argument_list "(local_a0,local_c4)" (( "(") (identifier "local_a0") (, ",") (identifier "local_c4") () ")"))))) () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -8) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -8) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "unaff_EDI")) (; ";")) (expression_statement "*(uint *)(puVar19 + -0xc) = local_a0 + local_c4;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_a0 + local_c4" (pointer_expression "*(uint *)(puVar19 + -0xc)" (* "*") (cast_expression "(uint *)(puVar19 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_a0 + local_c4" (identifier "local_a0") (+ "+") (identifier "local_c4"))) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = iVar7;" (assignment_expression "*(int *)(puVar19 + -0x10) = iVar7" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x14) = local_a4;" (assignment_expression "*(undefined ***)(puVar19 + -0x14) = local_a4" (pointer_expression "*(undefined ***)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x18) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x18) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(uint **)(puVar19 + -0x1c) = param_4;" (assignment_expression "*(uint **)(puVar19 + -0x1c) = param_4" (pointer_expression "*(uint **)(puVar19 + -0x1c)" (* "*") (cast_expression "(uint **)(puVar19 + -0x1c)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x20) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x20) = local_98" (pointer_expression "*(int *)(puVar19 + -0x20)" (* "*") (cast_expression "(int *)(puVar19 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x20)" (( "(") (binary_expression "puVar19 + -0x20" (identifier "puVar19") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c077;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c077" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x24)" (( "(") (binary_expression "puVar19 + -0x24" (identifier "puVar19") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8c077")) (; ";")) (expression_statement "cVar5 = FUN_00089330();" (assignment_expression "cVar5 = FUN_00089330()" (identifier "cVar5") (= "=") (call_expression "FUN_00089330()" (identifier "FUN_00089330") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" (identifier "ppuVar23") (= "=") (identifier "local_94")) (; ";")) (if_statement "if (cVar5 != '\0') {\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }\n        }" ({ "{") (if_statement "if (iVar7 == 0) {\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }\n          else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;\n            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;\n            uVar8 = gettext();\n            unaff_EDI = *(undefined ***)(puVar19 + -0x10);\n            *(uint *)(puVar19 + -0xc) = local_a0;\n            *(undefined4 *)(puVar19 + -0x10) = uVar8;\n            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;\n            *(uint *)(puVar19 + -0x18) = local_a0;\n            *(int *)(puVar19 + -0x1c) = local_98;\n            *(undefined4 **)(puVar19 + -0x20) = param_2;\n                    \n            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;\n            FUN_0023bf10();\n          }" ({ "{") (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19ca7f" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19ca7f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c787;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c787" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c787")) (; ";")) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" (identifier "uVar8") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "unaff_EDI = *(undefined ***)(puVar19 + -0x10);" (assignment_expression "unaff_EDI = *(undefined ***)(puVar19 + -0x10)" (identifier "unaff_EDI") (= "=") (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar19 + -0xc) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0xc) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0xc)" (* "*") (cast_expression "(uint *)(puVar19 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x14)" (* "*") (cast_expression "(int *)(puVar19 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar19 + -0x18) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x18) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x18)" (* "*") (cast_expression "(uint *)(puVar19 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x1c) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x1c) = local_98" (pointer_expression "*(int *)(puVar19 + -0x1c)" (* "*") (cast_expression "(int *)(puVar19 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 **)(puVar19 + -0x20) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x20) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x20)" (* "*") (cast_expression "(undefined4 **)(puVar19 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x20)" (( "(") (binary_expression "puVar19 + -0x20" (identifier "puVar19") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c7a6" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x24)" (( "(") (binary_expression "puVar19 + -0x24" (identifier "puVar19") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8c7a6")) (; ";")) (expression_statement "FUN_0023bf10();" (call_expression "FUN_0023bf10()" (identifier "FUN_0023bf10") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" (else "else") (compound_statement "{\n            unaff_EDI = local_94;\n            if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }\n          }" ({ "{") (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" (identifier "unaff_EDI") (= "=") (identifier "local_94")) (; ";")) (if_statement "if (local_94 != (undefined **)0x0) {\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }" (if "if") (parenthesized_expression "(local_94 != (undefined **)0x0)" (( "(") (binary_expression "local_94 != (undefined **)0x0" (identifier "local_94") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              bVar16 = *(byte *)((int)local_94 + 0x2a);\n              bVar6 = bVar16 & 7;\n              if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }\nLAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }\n            }" ({ "{") (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a);" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a)" (identifier "bVar16") (= "=") (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "bVar6 = bVar16 & 7;" (assignment_expression "bVar6 = bVar16 & 7" (identifier "bVar6") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";")) (if_statement "if ((bVar16 & 7) == 0) {\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }\n              else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "((bVar16 & 7) == 0)" (( "(") (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" (( "(") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }\n                piVar14 = (int *)local_94[2];\n                ppuVar18 = local_90 + -0x15e4b4;\n                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }\n                if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }\n                if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }\n                unaff_EDI = (undefined **)*local_94;\n                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;\n                uVar9 = gettext();\n                *(undefined ***)(puVar19 + -8) = unaff_EDI;\n                *(undefined4 *)(puVar19 + -0xc) = uVar8;\n                *(undefined4 *)(puVar19 + -0x10) = uVar9;\n                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;\n                FUN_0023b810();\n              }" ({ "{") (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" (if "if") (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" (( "(") (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" (identifier "local_94") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));\n                  bVar12 = *(byte *)(local_94 + 10) >> 4;\n                  piVar14 = (int *)(uint)bVar12;\n                  ppuVar23 = local_94;\n                  if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }\n                  goto LAB_0008cac0;\n                }" ({ "{") (labeled_statement "LAB_0008cbc8:\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));" (statement_identifier "LAB_0008cbc8") (: ":") (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" (identifier "local_a4") (= "=") (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(byte *)(local_94 + 10))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)(local_94 + 10)" (* "*") (cast_expression "(byte *)(local_94 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 10)" (( "(") (binary_expression "local_94 + 10" (identifier "local_94") (+ "+") (number_literal "10")) () ")")))) () ")"))))) (; ";"))) (expression_statement "bVar12 = *(byte *)(local_94 + 10) >> 4;" (assignment_expression "bVar12 = *(byte *)(local_94 + 10) >> 4" (identifier "bVar12") (= "=") (binary_expression "*(byte *)(local_94 + 10) >> 4" (pointer_expression "*(byte *)(local_94 + 10)" (* "*") (cast_expression "(byte *)(local_94 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 10)" (( "(") (binary_expression "local_94 + 10" (identifier "local_94") (+ "+") (number_literal "10")) () ")")))) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "piVar14 = (int *)(uint)bVar12;" (assignment_expression "piVar14 = (int *)(uint)bVar12" (identifier "piVar14") (= "=") (cast_expression "(int *)(uint)bVar12" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar12")))) (; ";")) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" (identifier "ppuVar23") (= "=") (identifier "local_94")) (; ";")) (if_statement "if (bVar12 != 2) {\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" (if "if") (parenthesized_expression "(bVar12 != 2)" (( "(") (binary_expression "bVar12 != 2" (identifier "bVar12") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    piVar14 = *(int **)(*ppuVar18 + 8);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }\n                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }\n                  }" ({ "{") (if_statement "if (((uint)local_94[0xb] & 2) != 0) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }" (if "if") (parenthesized_expression "(((uint)local_94[0xb] & 2) != 0)" (( "(") (binary_expression "((uint)local_94[0xb] & 2) != 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" (( "(") (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_94[0xb]" (identifier "local_94") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      goto LAB_0008cad3;\n                    }" ({ "{") (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "local_a4") (= "=") (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";")) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" (identifier "bVar6") (= "=") (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (goto_statement "goto LAB_0008cad3;" (goto "goto") (statement_identifier "LAB_0008cad3") (; ";")) (} "}"))) (expression_statement "ppuVar18 = local_90 + 0x1f2;" (assignment_expression "ppuVar18 = local_90 + 0x1f2" (identifier "ppuVar18") (= "=") (binary_expression "local_90 + 0x1f2" (identifier "local_90") (+ "+") (number_literal "0x1f2"))) (; ";")) (expression_statement "piVar14 = *(int **)(*ppuVar18 + 8);" (assignment_expression "piVar14 = *(int **)(*ppuVar18 + 8)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(*ppuVar18 + 8)" (* "*") (cast_expression "(int **)(*ppuVar18 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*ppuVar18 + 8)" (( "(") (binary_expression "*ppuVar18 + 8" (pointer_expression "*ppuVar18" (* "*") (identifier "ppuVar18")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      *(undefined ***)(puVar19 + -4) = local_94;\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;\n                      FUN_002446e0();\n                    }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -4) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -4) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -4)" (* "*") (cast_expression "(undefined ***)(puVar19 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65b32" (identifier "local_90") (+ "+") (number_literal "-0x65b32"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cecf;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cecf" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cecf")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)((int)piVar14 + 0x49b1) == '\0') {\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" (if "if") (parenthesized_expression "(*(char *)((int)piVar14 + 0x49b1) == '\0')" (( "(") (binary_expression "*(char *)((int)piVar14 + 0x49b1) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x49b1)" (* "*") (cast_expression "(char *)((int)piVar14 + 0x49b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x49b1)" (( "(") (binary_expression "(int)piVar14 + 0x49b1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x49b1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }\n                      goto LAB_0008c8f9;\n                    }" ({ "{") (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" (if "if") (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" (( "(") (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }\n                        goto LAB_0008cb38;\n                      }" ({ "{") (if_statement "if (bVar6 == 0) {\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" (if "if") (parenthesized_expression "(bVar6 == 0)" (( "(") (binary_expression "bVar6 == 0" (identifier "bVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          ppuVar18 = local_90 + -0x15e4b4;\n                          goto LAB_0008ca90;\n                        }" ({ "{") (expression_statement "ppuVar18 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar18 = local_90 + -0x15e4b4" (identifier "ppuVar18") (= "=") (binary_expression "local_90 + -0x15e4b4" (identifier "local_90") (+ "+") (number_literal "-0x15e4b4"))) (; ";")) (goto_statement "goto LAB_0008ca90;" (goto "goto") (statement_identifier "LAB_0008ca90") (; ";")) (} "}"))) (goto_statement "goto LAB_0008cb38;" (goto "goto") (statement_identifier "LAB_0008cb38") (; ";")) (} "}"))) (goto_statement "goto LAB_0008c8f9;" (goto "goto") (statement_identifier "LAB_0008c8f9") (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0008cac0;" (goto "goto") (statement_identifier "LAB_0008cac0") (; ";")) (} "}"))) (expression_statement "piVar14 = (int *)local_94[2];" (assignment_expression "piVar14 = (int *)local_94[2]" (identifier "piVar14") (= "=") (cast_expression "(int *)local_94[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_94[2]" (identifier "local_94") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "ppuVar18 = local_90 + -0x15e4b4;" (assignment_expression "ppuVar18 = local_90 + -0x15e4b4" (identifier "ppuVar18") (= "=") (binary_expression "local_90 + -0x15e4b4" (identifier "local_90") (+ "+") (number_literal "-0x15e4b4"))) (; ";")) (expression_statement "ppuVar3 = *(undefined ***)(*piVar14 + 0x14);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar14 + 0x14)" (identifier "ppuVar3") (= "=") (pointer_expression "*(undefined ***)(*piVar14 + 0x14)" (* "*") (cast_expression "(undefined ***)(*piVar14 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar14 + 0x14)" (( "(") (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (ppuVar3 == ppuVar18) {\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }\n                else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" (if "if") (parenthesized_expression "(ppuVar3 == ppuVar18)" (( "(") (binary_expression "ppuVar3 == ppuVar18" (identifier "ppuVar3") (== "==") (identifier "ppuVar18")) () ")")) (compound_statement "{\nLAB_0008c0da:\n                  bVar16 = bVar16 & 7;\n                  bVar12 = *(byte *)((int)local_94 + 0x29);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  bVar6 = bVar12 & 3;\n                  unaff_EDI = local_94;\n                  if ((bVar12 & 3) == 0) goto LAB_0008c180;\n                }" ({ "{") (labeled_statement "LAB_0008c0da:\n                  bVar16 = bVar16 & 7;" (statement_identifier "LAB_0008c0da") (: ":") (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" (identifier "bVar16") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";"))) (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x29);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x29)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")"))))) (; ";")) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" (identifier "local_a4") (= "=") (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,bVar12)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,bVar12)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar12") () ")"))))) (; ";")) (expression_statement "bVar6 = bVar12 & 3;" (assignment_expression "bVar6 = bVar12 & 3" (identifier "bVar6") (= "=") (binary_expression "bVar12 & 3" (identifier "bVar12") (& "&") (number_literal "3"))) (; ";")) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" (identifier "unaff_EDI") (= "=") (identifier "local_94")) (; ";")) (if_statement "if ((bVar12 & 3) == 0) goto LAB_0008c180;" (if "if") (parenthesized_expression "((bVar12 & 3) == 0)" (( "(") (binary_expression "(bVar12 & 3) == 0" (parenthesized_expression "(bVar12 & 3)" (( "(") (binary_expression "bVar12 & 3" (identifier "bVar12") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008c180;" (goto "goto") (statement_identifier "LAB_0008c180") (; ";"))) (} "}")) (else_clause "else {\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" (else "else") (compound_statement "{\n                  *(int **)(puVar19 + -0x10) = piVar14;\n                    \n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;\n                  iVar7 = (*(code *)ppuVar3)();\n                  piVar14 = extraout_ECX;\n                  if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }\nLAB_0008cad3:\n                  unaff_EDI = ppuVar23;\n                  if (bVar6 == 0) goto LAB_0008c180;\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));\n                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;\n                  if (bVar16 != 0) goto LAB_0008cb54;\n                }" ({ "{") (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" (* "*") (cast_expression "(int **)(puVar19 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c8b6" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c8b6")) (; ";")) (expression_statement "iVar7 = (*(code *)ppuVar3)();" (assignment_expression "iVar7 = (*(code *)ppuVar3)()" (identifier "iVar7") (= "=") (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" (( "(") (pointer_expression "*(code *)ppuVar3" (* "*") (cast_expression "(code *)ppuVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar3"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar14 = extraout_ECX;" (assignment_expression "piVar14 = extraout_ECX" (identifier "piVar14") (= "=") (identifier "extraout_ECX")) (; ";")) (if_statement "if (iVar7 == 0) {\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }\n                  else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                  }" ({ "{") (labeled_statement "LAB_0008cac0:\n                    local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (statement_identifier "LAB_0008cac0") (: ":") (expression_statement "local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "local_a4") (= "=") (cast_expression "(undefined **)\n                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";"))) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" (identifier "bVar6") (= "=") (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" (else "else") (compound_statement "{\n                    bVar16 = *(byte *)((int)local_94 + 0x2a);\n                    bVar6 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }\n                    ppuVar18 = local_90 + 0x1f2;\n                    ppuVar23 = local_94;\nLAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);\n                    if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }\n                    iVar7 = *piVar14;\n                    *(undefined ***)(puVar19 + -0xc) = local_94;\n                    *(int **)(puVar19 + -0x10) = piVar14;\n                    pcVar2 = *(code **)(iVar7 + 0x1c);\n                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;\n                    cVar5 = (*pcVar2)();\n                    piVar14 = extraout_ECX_00;\n                    if (cVar5 != '\0') goto LAB_0008cac0;\n                    iVar7 = *(int *)(*ppuVar18 + 8);\n                    if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }\n                    pbVar21 = *(byte **)(iVar7 + 0x42e4);\n                    bVar24 = false;\n                    bVar26 = pbVar21 == (byte *)0x0;\n                    if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }\n                  }" ({ "{") (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a);" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a)" (identifier "bVar16") (= "=") (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "bVar6 = bVar16 & 7;" (assignment_expression "bVar6 = bVar16 & 7" (identifier "bVar6") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";")) (if_statement "if ((bVar16 & 7) == 0) {\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }\n                    else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 7) == 0)" (( "(") (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" (( "(") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }\n                      if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }\n                    }" ({ "{") (if_statement "if (local_94[3] == (undefined *)0x0) {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }\n                      else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" (if "if") (parenthesized_expression "(local_94[3] == (undefined *)0x0)" (( "(") (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" (identifier "local_94") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;\n                      }" ({ "{") (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x2b);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x2b)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (if_statement "if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;" (if "if") (parenthesized_expression "((bVar12 & 0x20) != 0)" (( "(") (binary_expression "(bVar12 & 0x20) != 0" (parenthesized_expression "(bVar12 & 0x20)" (( "(") (binary_expression "bVar12 & 0x20" (identifier "bVar12") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008cbc8;" (goto "goto") (statement_identifier "LAB_0008cbc8") (; ";"))) (} "}")) (else_clause "else {\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" (else "else") (compound_statement "{\n                        bVar12 = *(byte *)((int)local_94 + 0x2b);\n                      }" ({ "{") (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x2b);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x2b)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((char)bVar12 < '\0') {\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" (if "if") (parenthesized_expression "((char)bVar12 < '\0')" (( "(") (binary_expression "(char)bVar12 < '\0'" (cast_expression "(char)bVar12" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar12")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0008ca90:\n                        ppuVar23 = local_94;\n                        piVar14 = (int *)local_94[2];\n                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);\n                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;\n                        *(int **)(puVar19 + -0x10) = piVar14;\n                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;\n                        iVar7 = (*(code *)ppuVar3)();\n                        piVar14 = extraout_ECX_01;\n                        ppuVar18 = local_d0;\n                        if (iVar7 != 0) goto LAB_0008c8f9;\n                        goto LAB_0008cac0;\n                      }" ({ "{") (labeled_statement "LAB_0008ca90:\n                        ppuVar23 = local_94;" (statement_identifier "LAB_0008ca90") (: ":") (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" (identifier "ppuVar23") (= "=") (identifier "local_94")) (; ";"))) (expression_statement "piVar14 = (int *)local_94[2];" (assignment_expression "piVar14 = (int *)local_94[2]" (identifier "piVar14") (= "=") (cast_expression "(int *)local_94[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_94[2]" (identifier "local_94") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "ppuVar3 = *(undefined ***)(*piVar14 + 0x14);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar14 + 0x14)" (identifier "ppuVar3") (= "=") (pointer_expression "*(undefined ***)(*piVar14 + 0x14)" (* "*") (cast_expression "(undefined ***)(*piVar14 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar14 + 0x14)" (( "(") (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (ppuVar3 == ppuVar18) goto LAB_0008c0da;" (if "if") (parenthesized_expression "(ppuVar3 == ppuVar18)" (( "(") (binary_expression "ppuVar3 == ppuVar18" (identifier "ppuVar3") (== "==") (identifier "ppuVar18")) () ")")) (goto_statement "goto LAB_0008c0da;" (goto "goto") (statement_identifier "LAB_0008c0da") (; ";"))) (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" (* "*") (cast_expression "(int **)(puVar19 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8caac;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8caac" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8caac")) (; ";")) (expression_statement "iVar7 = (*(code *)ppuVar3)();" (assignment_expression "iVar7 = (*(code *)ppuVar3)()" (identifier "iVar7") (= "=") (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" (( "(") (pointer_expression "*(code *)ppuVar3" (* "*") (cast_expression "(code *)ppuVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar3"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar14 = extraout_ECX_01;" (assignment_expression "piVar14 = extraout_ECX_01" (identifier "piVar14") (= "=") (identifier "extraout_ECX_01")) (; ";")) (expression_statement "ppuVar18 = local_d0;" (assignment_expression "ppuVar18 = local_d0" (identifier "ppuVar18") (= "=") (identifier "local_d0")) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0008c8f9;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008c8f9;" (goto "goto") (statement_identifier "LAB_0008c8f9") (; ";"))) (goto_statement "goto LAB_0008cac0;" (goto "goto") (statement_identifier "LAB_0008cac0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" (else "else") (compound_statement "{\n                      if (bVar6 == 4) goto LAB_0008cbc8;\n                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;\n                    }" ({ "{") (if_statement "if (bVar6 == 4) goto LAB_0008cbc8;" (if "if") (parenthesized_expression "(bVar6 == 4)" (( "(") (binary_expression "bVar6 == 4" (identifier "bVar6") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0008cbc8;" (goto "goto") (statement_identifier "LAB_0008cbc8") (; ";"))) (if_statement "if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;" (if "if") (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2b) < '\0')" (( "(") (binary_expression "(char)*(byte *)((int)local_94 + 0x2b) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008cb38;" (goto "goto") (statement_identifier "LAB_0008cb38") (; ";"))) (} "}")))) (expression_statement "ppuVar18 = local_90 + 0x1f2;" (assignment_expression "ppuVar18 = local_90 + 0x1f2" (identifier "ppuVar18") (= "=") (binary_expression "local_90 + 0x1f2" (identifier "local_90") (+ "+") (number_literal "0x1f2"))) (; ";")) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" (identifier "ppuVar23") (= "=") (identifier "local_94")) (; ";")) (labeled_statement "LAB_0008c8f9:\n                    piVar14 = *(int **)(*ppuVar18 + 0xc);" (statement_identifier "LAB_0008c8f9") (: ":") (expression_statement "piVar14 = *(int **)(*ppuVar18 + 0xc);" (assignment_expression "piVar14 = *(int **)(*ppuVar18 + 0xc)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(*ppuVar18 + 0xc)" (* "*") (cast_expression "(int **)(*ppuVar18 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*ppuVar18 + 0xc)" (( "(") (binary_expression "*ppuVar18 + 0xc" (pointer_expression "*ppuVar18" (* "*") (identifier "ppuVar18")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (if_statement "if (piVar14 == (int *)0x0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x69;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;\n                      FUN_002446e0();\n                    }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65bc7" (identifier "local_90") (+ "+") (number_literal "-0x65bc7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x69")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce5b" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ce5b")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar7 = *piVar14;" (assignment_expression "iVar7 = *piVar14" (identifier "iVar7") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0xc) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0xc) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(int **)(puVar19 + -0x10) = piVar14;" (assignment_expression "*(int **)(puVar19 + -0x10) = piVar14" (pointer_expression "*(int **)(puVar19 + -0x10)" (* "*") (cast_expression "(int **)(puVar19 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar7 + 0x1c);" (assignment_expression "pcVar2 = *(code **)(iVar7 + 0x1c)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar7 + 0x1c)" (* "*") (cast_expression "(code **)(iVar7 + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c915;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c915" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c915")) (; ";")) (expression_statement "cVar5 = (*pcVar2)();" (assignment_expression "cVar5 = (*pcVar2)()" (identifier "cVar5") (= "=") (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar14 = extraout_ECX_00;" (assignment_expression "piVar14 = extraout_ECX_00" (identifier "piVar14") (= "=") (identifier "extraout_ECX_00")) (; ";")) (if_statement "if (cVar5 != '\0') goto LAB_0008cac0;" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0008cac0;" (goto "goto") (statement_identifier "LAB_0008cac0") (; ";"))) (expression_statement "iVar7 = *(int *)(*ppuVar18 + 8);" (assignment_expression "iVar7 = *(int *)(*ppuVar18 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*ppuVar18 + 8)" (* "*") (cast_expression "(int *)(*ppuVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*ppuVar18 + 8)" (( "(") (binary_expression "*ppuVar18 + 8" (pointer_expression "*ppuVar18" (* "*") (identifier "ppuVar18")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) {\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;\n                      FUN_002446e0();\n                    }" ({ "{") (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65b32" (identifier "local_90") (+ "+") (number_literal "-0x65b32"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce79;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce79" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ce79")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar21 = *(byte **)(iVar7 + 0x42e4);" (assignment_expression "pbVar21 = *(byte **)(iVar7 + 0x42e4)" (identifier "pbVar21") (= "=") (pointer_expression "*(byte **)(iVar7 + 0x42e4)" (* "*") (cast_expression "(byte **)(iVar7 + 0x42e4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x42e4)" (( "(") (binary_expression "iVar7 + 0x42e4" (identifier "iVar7") (+ "+") (number_literal "0x42e4")) () ")"))))) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = pbVar21 == (byte *)0x0;" (assignment_expression "bVar26 = pbVar21 == (byte *)0x0" (identifier "bVar26") (= "=") (binary_expression "pbVar21 == (byte *)0x0" (identifier "pbVar21") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (bVar26) {\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }\n                    else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (compound_statement "{\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\nLAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }\n                    }" ({ "{") (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "local_a4") (= "=") (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";")) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" (identifier "bVar6") (= "=") (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (labeled_statement "LAB_0008c9da:\n                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" (statement_identifier "LAB_0008c9da") (: ":") (if_statement "if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" (if "if") (parenthesized_expression "(((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0'))" (( "(") (binary_expression "((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||\n                         (*(char *)(iVar7 + 0x4eb5) != '\0')" (parenthesized_expression "((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0'))" (( "(") (binary_expression "(bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')" (parenthesized_expression "(bVar6 == 2)" (( "(") (binary_expression "bVar6 == 2" (identifier "bVar6") (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar7 + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar7 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1a25)" (( "(") (binary_expression "iVar7 + 0x1a25" (identifier "iVar7") (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar7 + 0x4eb5) != '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x4eb5) != '\0'" (pointer_expression "*(char *)(iVar7 + 0x4eb5)" (* "*") (cast_expression "(char *)(iVar7 + 0x4eb5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x4eb5)" (( "(") (binary_expression "iVar7 + 0x4eb5" (identifier "iVar7") (+ "+") (number_literal "0x4eb5")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\nLAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;\n                        *(uint *)(puVar19 + -0x14) = local_a0;\n                        *(int *)(puVar19 + -0x18) = local_98;\n                        *(undefined4 **)(puVar19 + -0x1c) = param_2;\n                        *(undefined ***)(puVar19 + -0x20) = local_94;\n                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;\n                        FUN_0023c790();\n                        unaff_EDI = ppuVar23;\n                        goto LAB_0008c180;\n                      }" ({ "{") (labeled_statement "LAB_0008c9f4:\n                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;" (statement_identifier "LAB_0008c9f4") (: ":") (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (>> ">>") (number_literal "0x1f"))) (; ";"))) (expression_statement "*(uint *)(puVar19 + -0x14) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x14) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x14)" (* "*") (cast_expression "(uint *)(puVar19 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x18) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x18) = local_98" (pointer_expression "*(int *)(puVar19 + -0x18)" (* "*") (cast_expression "(int *)(puVar19 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 **)(puVar19 + -0x1c) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x1c) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x1c)" (* "*") (cast_expression "(undefined4 **)(puVar19 + -0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x20) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x20) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x20)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x20)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x20)" (( "(") (binary_expression "puVar19 + -0x20" (identifier "puVar19") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8ca1a" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x24)" (( "(") (binary_expression "puVar19 + -0x24" (identifier "puVar19") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8ca1a")) (; ";")) (expression_statement "FUN_0023c790();" (call_expression "FUN_0023c790()" (identifier "FUN_0023c790") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" (identifier "unaff_EDI") (= "=") (identifier "ppuVar23")) (; ";")) (goto_statement "goto LAB_0008c180;" (goto "goto") (statement_identifier "LAB_0008c180") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" (else "else") (compound_statement "{\n                      piVar14 = (int *)0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);\n                      bVar25 = false;\n                      bVar24 = (!bVar24 && !bVar26) == bVar24;\n                      if (bVar24) goto LAB_0008cac0;\n                      iVar15 = 0xb;\n                      pbVar22 = pbVar21;\n                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);\n                      do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (bVar24) goto LAB_0008c9f4;\n                      iVar15 = 0x17;\n                      pbVar22 = pbVar21;\n                      ppuVar23 = local_90 + -0x687e4;\n                      do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);\n                      local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));\n                      cVar5 = (!bVar26 && !bVar24) - bVar26;\n                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);\n                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;\n                      bVar24 = cVar5 == '\0';\n                      if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }\n                    }" ({ "{") (expression_statement "piVar14 = (int *)0xb;" (assignment_expression "piVar14 = (int *)0xb" (identifier "piVar14") (= "=") (cast_expression "(int *)0xb" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xb"))) (; ";")) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" (identifier "pbVar22") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6)" (identifier "ppuVar18") (= "=") (cast_expression "(undefined **)((int)local_90 + -0x1a1fa6)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_90 + -0x1a1fa6)" (( "(") (binary_expression "(int)local_90 + -0x1a1fa6" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x1a1fa6")) () ")")))) (; ";")) (do_statement "do {\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar26);" (do "do") (compound_statement "{\n                        ppuVar23 = ppuVar18;\n                        if (piVar14 == (int *)0x0) break;\n                        piVar14 = (int *)((int)piVar14 + -1);\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar24 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar26 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      }" ({ "{") (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" (identifier "ppuVar23") (= "=") (identifier "ppuVar18")) (; ";")) (if_statement "if (piVar14 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar14 = (int *)((int)piVar14 + -1);" (assignment_expression "piVar14 = (int *)((int)piVar14 + -1)" (identifier "piVar14") (= "=") (cast_expression "(int *)((int)piVar14 + -1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + -1)" (( "(") (binary_expression "(int)piVar14 + -1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar23") (= "=") (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar18")) (+ "+") (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 "bVar24 = *pbVar22 < *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar22 < *(byte *)ppuVar18" (identifier "bVar24") (= "=") (binary_expression "*pbVar22 < *(byte *)ppuVar18" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*(byte *)ppuVar18" (* "*") (cast_expression "(byte *)ppuVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar18"))))) (; ";")) (expression_statement "bVar26 = *pbVar22 == *(byte *)ppuVar18;" (assignment_expression "bVar26 = *pbVar22 == *(byte *)ppuVar18" (identifier "bVar26") (= "=") (binary_expression "*pbVar22 == *(byte *)ppuVar18" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*(byte *)ppuVar18" (* "*") (cast_expression "(byte *)ppuVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar18"))))) (; ";")) (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"))) (; ";")) (expression_statement "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" (identifier "ppuVar18") (= "=") (identifier "ppuVar23")) (; ";")) (} "}")) (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) goto LAB_0008cac0;" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (goto_statement "goto LAB_0008cac0;" (goto "goto") (statement_identifier "LAB_0008cac0") (; ";"))) (expression_statement "iVar15 = 0xb;" (assignment_expression "iVar15 = 0xb" (identifier "iVar15") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" (identifier "pbVar22") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b)" (identifier "ppuVar18") (= "=") (cast_expression "(undefined **)((int)local_90 + -0x1a1f9b)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_90 + -0x1a1f9b)" (( "(") (binary_expression "(int)local_90 + -0x1a1f9b" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x1a1f9b")) () ")")))) (; ";")) (do_statement "do {\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      } while (bVar24);" (do "do") (compound_statement "{\n                        ppuVar23 = ppuVar18;\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                        bVar25 = *pbVar22 < *(byte *)ppuVar18;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar18;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar18 = ppuVar23;\n                      }" ({ "{") (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" (identifier "ppuVar23") (= "=") (identifier "ppuVar18")) (; ";")) (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar23") (= "=") (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar18")) (+ "+") (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 = *pbVar22 < *(byte *)ppuVar18;" (assignment_expression "bVar25 = *pbVar22 < *(byte *)ppuVar18" (identifier "bVar25") (= "=") (binary_expression "*pbVar22 < *(byte *)ppuVar18" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*(byte *)ppuVar18" (* "*") (cast_expression "(byte *)ppuVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar18"))))) (; ";")) (expression_statement "bVar24 = *pbVar22 == *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar22 == *(byte *)ppuVar18" (identifier "bVar24") (= "=") (binary_expression "*pbVar22 == *(byte *)ppuVar18" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*(byte *)ppuVar18" (* "*") (cast_expression "(byte *)ppuVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar18"))))) (; ";")) (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"))) (; ";")) (expression_statement "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" (identifier "ppuVar18") (= "=") (identifier "ppuVar23")) (; ";")) (} "}")) (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) goto LAB_0008c9f4;" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (goto_statement "goto LAB_0008c9f4;" (goto "goto") (statement_identifier "LAB_0008c9f4") (; ";"))) (expression_statement "iVar15 = 0x17;" (assignment_expression "iVar15 = 0x17" (identifier "iVar15") (= "=") (number_literal "0x17")) (; ";")) (expression_statement "pbVar22 = pbVar21;" (assignment_expression "pbVar22 = pbVar21" (identifier "pbVar22") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "ppuVar23 = local_90 + -0x687e4;" (assignment_expression "ppuVar23 = local_90 + -0x687e4" (identifier "ppuVar23") (= "=") (binary_expression "local_90 + -0x687e4" (identifier "local_90") (+ "+") (number_literal "-0x687e4"))) (; ";")) (do_statement "do {\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      } while (bVar24);" (do "do") (compound_statement "{\n                        if (iVar15 == 0) break;\n                        iVar15 = iVar15 + -1;\n                        bVar26 = *pbVar22 < *(byte *)ppuVar23;\n                        bVar24 = *pbVar22 == *(byte *)ppuVar23;\n                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n                      }" ({ "{") (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar22 < *(byte *)ppuVar23;" (assignment_expression "bVar26 = *pbVar22 < *(byte *)ppuVar23" (identifier "bVar26") (= "=") (binary_expression "*pbVar22 < *(byte *)ppuVar23" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (< "<") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "bVar24 = *pbVar22 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *pbVar22 == *(byte *)ppuVar23" (identifier "bVar24") (= "=") (binary_expression "*pbVar22 == *(byte *)ppuVar23" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (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"))) (; ";")) (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") () ")")) (; ";")) (expression_statement "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));" (assignment_expression "local_a4 = (undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "local_a4") (= "=") (cast_expression "(undefined **)\n                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x29))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) () ")"))))) (; ";")) (expression_statement "cVar5 = (!bVar26 && !bVar24) - bVar26;" (assignment_expression "cVar5 = (!bVar26 && !bVar24) - bVar26" (identifier "cVar5") (= "=") (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"))) (; ";")) (expression_statement "piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);" (assignment_expression "piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" (identifier "piVar14") (= "=") (cast_expression "(int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31((int3)((uint)iVar15 >> 8),cVar5)" (identifier "CONCAT31") (argument_list "((int3)((uint)iVar15 >> 8),cVar5)" (( "(") (call_expression "(int3)((uint)iVar15 >> 8)" (parenthesized_expression "(int3)" (( "(") (identifier "int3") () ")")) (argument_list "((uint)iVar15 >> 8)" (( "(") (binary_expression "(uint)iVar15 >> 8" (cast_expression "(uint)iVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar15")) (>> ">>") (number_literal "8")) () ")"))) (, ",") (identifier "cVar5") () ")"))))) (; ";")) (expression_statement "bVar6 = *(byte *)((int)local_94 + 0x29) & 3;" (assignment_expression "bVar6 = *(byte *)((int)local_94 + 0x29) & 3" (identifier "bVar6") (= "=") (binary_expression "*(byte *)((int)local_94 + 0x29) & 3" (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "bVar24 = cVar5 == '\0';" (assignment_expression "bVar24 = cVar5 == '\0'" (identifier "bVar24") (= "=") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if ((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)) {\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }" (if "if") (parenthesized_expression "((!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24))" (( "(") (binary_expression "(!bVar24) ||\n                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)" (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (|| "||") (parenthesized_expression "(bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24)" (( "(") (comma_expression "bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,\n                         !bVar24" (assignment_expression "bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0" (identifier "bVar24") (= "=") (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 1) == 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 1)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2b) & 1" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) (, ",") (comma_expression "ppuVar23 = local_94,\n                         !bVar24" (assignment_expression "ppuVar23 = local_94" (identifier "ppuVar23") (= "=") (identifier "local_94")) (, ",") (unary_expression "!bVar24" (! "!") (identifier "bVar24")))) () ")"))) () ")")) (compound_statement "{\n                        bVar26 = false;\n                        piVar14 = (int *)0x16;\n                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);\n                        do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);\n                        if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;\n                      }" ({ "{") (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "piVar14 = (int *)0x16;" (assignment_expression "piVar14 = (int *)0x16" (identifier "piVar14") (= "=") (cast_expression "(int *)0x16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x16"))) (; ";")) (expression_statement "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);" (assignment_expression "ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79)" (identifier "ppuVar18") (= "=") (cast_expression "(undefined **)((int)local_90 + -0x1a1f79)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_90 + -0x1a1f79)" (( "(") (binary_expression "(int)local_90 + -0x1a1f79" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x1a1f79")) () ")")))) (; ";")) (do_statement "do {\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        } while (bVar24);" (do "do") (compound_statement "{\n                          ppuVar23 = ppuVar18;\n                          if (piVar14 == (int *)0x0) break;\n                          piVar14 = (int *)((int)piVar14 + -1);\n                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);\n                          bVar26 = *pbVar21 < *(byte *)ppuVar18;\n                          bVar24 = *pbVar21 == *(byte *)ppuVar18;\n                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;\n                          ppuVar18 = ppuVar23;\n                        }" ({ "{") (expression_statement "ppuVar23 = ppuVar18;" (assignment_expression "ppuVar23 = ppuVar18" (identifier "ppuVar23") (= "=") (identifier "ppuVar18")) (; ";")) (if_statement "if (piVar14 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar14 = (int *)((int)piVar14 + -1);" (assignment_expression "piVar14 = (int *)((int)piVar14 + -1)" (identifier "piVar14") (= "=") (cast_expression "(int *)((int)piVar14 + -1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + -1)" (( "(") (binary_expression "(int)piVar14 + -1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar23") (= "=") (cast_expression "(undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar18 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar18 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar18")) (+ "+") (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 "bVar26 = *pbVar21 < *(byte *)ppuVar18;" (assignment_expression "bVar26 = *pbVar21 < *(byte *)ppuVar18" (identifier "bVar26") (= "=") (binary_expression "*pbVar21 < *(byte *)ppuVar18" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (< "<") (pointer_expression "*(byte *)ppuVar18" (* "*") (cast_expression "(byte *)ppuVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar18"))))) (; ";")) (expression_statement "bVar24 = *pbVar21 == *(byte *)ppuVar18;" (assignment_expression "bVar24 = *pbVar21 == *(byte *)ppuVar18" (identifier "bVar24") (= "=") (binary_expression "*pbVar21 == *(byte *)ppuVar18" (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")) (== "==") (pointer_expression "*(byte *)ppuVar18" (* "*") (cast_expression "(byte *)ppuVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar18"))))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar27 * -2" (identifier "pbVar21") (+ "+") (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 "ppuVar18 = ppuVar23;" (assignment_expression "ppuVar18 = ppuVar23" (identifier "ppuVar18") (= "=") (identifier "ppuVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (if_statement "if (((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;" (if "if") (parenthesized_expression "(((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0'))" (( "(") (binary_expression "((!bVar26 && !bVar24) != bVar26) ||\n                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')" (parenthesized_expression "((!bVar26 && !bVar24) != bVar26)" (( "(") (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")) () ")")) (|| "||") (parenthesized_expression "((char)*(byte *)((int)local_94 + 0x2a) < '\0')" (( "(") (binary_expression "(char)*(byte *)((int)local_94 + 0x2a) < '\0'" (cast_expression "(char)*(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0008c9da;" (goto "goto") (statement_identifier "LAB_0008c9da") (; ";"))) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_0008cad3:\n                  unaff_EDI = ppuVar23;" (statement_identifier "LAB_0008cad3") (: ":") (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" (identifier "unaff_EDI") (= "=") (identifier "ppuVar23")) (; ";"))) (if_statement "if (bVar6 == 0) goto LAB_0008c180;" (if "if") (parenthesized_expression "(bVar6 == 0)" (( "(") (binary_expression "bVar6 == 0" (identifier "bVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008c180;" (goto "goto") (statement_identifier "LAB_0008c180") (; ";"))) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" (identifier "local_a4") (= "=") (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")")))) () ")"))))) (; ";")) (expression_statement "bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;" (assignment_expression "bVar16 = *(byte *)((int)local_94 + 0x2a) & 7" (identifier "bVar16") (= "=") (binary_expression "*(byte *)((int)local_94 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_94 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2a)" (( "(") (binary_expression "(int)local_94 + 0x2a" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (bVar16 != 0) goto LAB_0008cb54;" (if "if") (parenthesized_expression "(bVar16 != 0)" (( "(") (binary_expression "bVar16 != 0" (identifier "bVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008cb54;" (goto "goto") (statement_identifier "LAB_0008cb54") (; ";"))) (} "}")))) (if_statement "if ((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }\n                else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" (if "if") (parenthesized_expression "((local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "(local_94[3] == (undefined *)0x0) &&\n                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (parenthesized_expression "(local_94[3] == (undefined *)0x0)" (( "(") (binary_expression "local_94[3] == (undefined *)0x0" (subscript_expression "local_94[3]" (identifier "local_94") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  bVar12 = *(byte *)(local_94 + 10);\n                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                  piVar14 = (int *)(uint)(bVar12 >> 4);\n                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;\nLAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);\n                  if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }\n                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }\n                }" ({ "{") (expression_statement "bVar12 = *(byte *)(local_94 + 10);" (assignment_expression "bVar12 = *(byte *)(local_94 + 10)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)(local_94 + 10)" (* "*") (cast_expression "(byte *)(local_94 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 10)" (( "(") (binary_expression "local_94 + 10" (identifier "local_94") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" (identifier "local_a4") (= "=") (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,bVar12)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,bVar12)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar12") () ")"))))) (; ";")) (expression_statement "piVar14 = (int *)(uint)(bVar12 >> 4);" (assignment_expression "piVar14 = (int *)(uint)(bVar12 >> 4)" (identifier "piVar14") (= "=") (cast_expression "(int *)(uint)(bVar12 >> 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(bVar12 >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar12 >> 4)" (( "(") (binary_expression "bVar12 >> 4" (identifier "bVar12") (>> ">>") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;" (if "if") (parenthesized_expression "((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0))" (( "(") (binary_expression "(bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)" (parenthesized_expression "(bVar12 >> 4 == 2)" (( "(") (binary_expression "bVar12 >> 4 == 2" (binary_expression "bVar12 >> 4" (identifier "bVar12") (>> ">>") (number_literal "4")) (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(((uint)local_94[0xb] & 2) != 0)" (( "(") (binary_expression "((uint)local_94[0xb] & 2) != 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" (( "(") (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_94[0xb]" (identifier "local_94") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0008c10d;" (goto "goto") (statement_identifier "LAB_0008c10d") (; ";"))) (labeled_statement "LAB_0008cb8b:\n                  piVar14 = *(int **)(*local_cc + 8);" (statement_identifier "LAB_0008cb8b") (: ":") (expression_statement "piVar14 = *(int **)(*local_cc + 8);" (assignment_expression "piVar14 = *(int **)(*local_cc + 8)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(*local_cc + 8)" (* "*") (cast_expression "(int **)(*local_cc + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_cc + 8)" (( "(") (binary_expression "*local_cc + 8" (pointer_expression "*local_cc" (* "*") (identifier "local_cc")) (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (piVar14 == (int *)0x0) {\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    *(uint *)(puVar19 + -4) = (uint)bVar12;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;\n                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;\n                    \n                    \n                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;\n                    FUN_002446e0();\n                  }" ({ "{") (expression_statement "*(uint *)(puVar19 + -4) = (uint)bVar12;" (assignment_expression "*(uint *)(puVar19 + -4) = (uint)bVar12" (pointer_expression "*(uint *)(puVar19 + -4)" (* "*") (cast_expression "(uint *)(puVar19 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (cast_expression "(uint)bVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar12"))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b32" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65b32" (identifier "local_90") (+ "+") (number_literal "-0x65b32"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x1a1d93" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;" (assignment_expression "*(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a" (pointer_expression "*(undefined1 **)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_0008cf0a" (& "&") (identifier "LAB_0008cf0a"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)((int)piVar14 + 0x49b1) != '\0') {\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" (if "if") (parenthesized_expression "(*(char *)((int)piVar14 + 0x49b1) != '\0')" (( "(") (binary_expression "*(char *)((int)piVar14 + 0x49b1) != '\0'" (pointer_expression "*(char *)((int)piVar14 + 0x49b1)" (* "*") (cast_expression "(char *)((int)piVar14 + 0x49b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x49b1)" (( "(") (binary_expression "(int)piVar14 + 0x49b1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x49b1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    unaff_EDI = local_cc;\n                    if (bVar16 != 0) goto LAB_0008c180;\n                    goto LAB_0008c10d;\n                  }" ({ "{") (expression_statement "unaff_EDI = local_cc;" (assignment_expression "unaff_EDI = local_cc" (identifier "unaff_EDI") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if (bVar16 != 0) goto LAB_0008c180;" (if "if") (parenthesized_expression "(bVar16 != 0)" (( "(") (binary_expression "bVar16 != 0" (identifier "bVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008c180;" (goto "goto") (statement_identifier "LAB_0008c180") (; ";"))) (goto_statement "goto LAB_0008c10d;" (goto "goto") (statement_identifier "LAB_0008c10d") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" (else "else") (compound_statement "{\nLAB_0008c10d:\n                  unaff_EDI = local_94;\n                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;\n                }" ({ "{") (labeled_statement "LAB_0008c10d:\n                  unaff_EDI = local_94;" (statement_identifier "LAB_0008c10d") (: ":") (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" (identifier "unaff_EDI") (= "=") (identifier "local_94")) (; ";"))) (if_statement "if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;" (if "if") (parenthesized_expression "((local_94[2][0x2c] & 1) == 0)" (( "(") (binary_expression "(local_94[2][0x2c] & 1) == 0" (parenthesized_expression "(local_94[2][0x2c] & 1)" (( "(") (binary_expression "local_94[2][0x2c] & 1" (subscript_expression "local_94[2][0x2c]" (subscript_expression "local_94[2]" (identifier "local_94") ([ "[") (number_literal "2") (] "]")) ([ "[") (number_literal "0x2c") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0008c180;" (goto "goto") (statement_identifier "LAB_0008c180") (; ";"))) (} "}")))) (if_statement "if (bVar6 == 2) {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }\n                else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" (if "if") (parenthesized_expression "(bVar6 == 2)" (( "(") (binary_expression "bVar6 == 2" (identifier "bVar6") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;\n                  uVar8 = gettext();\n                }" ({ "{") (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19ca5d" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19ca5d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cc6d" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cc6d")) (; ";")) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" (identifier "uVar8") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" (else "else") (if_statement "if (bVar6 < 3) {\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }\n                else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" (if "if") (parenthesized_expression "(bVar6 < 3)" (( "(") (binary_expression "bVar6 < 3" (identifier "bVar6") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                  if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;\n                  uVar8 = gettext();\n                }" ({ "{") (if_statement "if (bVar6 != 1) {\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }" (if "if") (parenthesized_expression "(bVar6 != 1)" (( "(") (binary_expression "bVar6 != 1" (identifier "bVar6") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    *(int **)(puVar19 + -4) = piVar14;\n                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;\n                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;\n                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;\n                    \n                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;\n                    FUN_002446e0();\n                  }" ({ "{") (expression_statement "*(int **)(puVar19 + -4) = piVar14;" (assignment_expression "*(int **)(puVar19 + -4) = piVar14" (pointer_expression "*(int **)(puVar19 + -4)" (* "*") (cast_expression "(int **)(puVar19 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65c80" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65c80" (identifier "local_90") (+ "+") (number_literal "-0x65c80"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0xa4;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0xa4" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xa4")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19cb27" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19cb27"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8ce98;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8ce98" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8ce98")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19ca66" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19ca66"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c385;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c385" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c385")) (; ";")) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" (identifier "uVar8") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" (else "else") (compound_statement "{\n                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;\n                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;\n                  uVar8 = gettext();\n                }" ({ "{") (expression_statement "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;" (assignment_expression "*(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56" (pointer_expression "*(int *)(puVar19 + -0x10)" (* "*") (cast_expression "(int *)(puVar19 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_90 + -0x19ca56" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (number_literal "-0x19ca56"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c13f;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c13f" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c13f")) (; ";")) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" (identifier "uVar8") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))))) (expression_statement "unaff_EDI = (undefined **)*local_94;" (assignment_expression "unaff_EDI = (undefined **)*local_94" (identifier "unaff_EDI") (= "=") (cast_expression "(undefined **)*local_94" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*local_94" (* "*") (identifier "local_94")))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_90 + -0x67173" (identifier "local_90") (+ "+") (number_literal "-0x67173"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c163;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c163" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c163")) (; ";")) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" (identifier "uVar9") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -8) = unaff_EDI;" (assignment_expression "*(undefined ***)(puVar19 + -8) = unaff_EDI" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "unaff_EDI")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = uVar9;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = uVar9" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c174;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c174" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c174")) (; ";")) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" (identifier "FUN_0023b810") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                if (bVar6 == 4) goto LAB_0008cbc8;\nLAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);\n                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                bVar6 = bVar12 & 3;\n                unaff_EDI = local_94;\n                if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }\n              }" ({ "{") (if_statement "if (bVar6 == 4) goto LAB_0008cbc8;" (if "if") (parenthesized_expression "(bVar6 == 4)" (( "(") (binary_expression "bVar6 == 4" (identifier "bVar6") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0008cbc8;" (goto "goto") (statement_identifier "LAB_0008cbc8") (; ";"))) (labeled_statement "LAB_0008cb38:\n                bVar12 = *(byte *)((int)local_94 + 0x29);" (statement_identifier "LAB_0008cb38") (: ":") (expression_statement "bVar12 = *(byte *)((int)local_94 + 0x29);" (assignment_expression "bVar12 = *(byte *)((int)local_94 + 0x29)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)((int)local_94 + 0x29)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x29)" (( "(") (binary_expression "(int)local_94 + 0x29" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x29")) () ")"))))) (; ";"))) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" (identifier "local_a4") (= "=") (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,bVar12)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,bVar12)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar12") () ")"))))) (; ";")) (expression_statement "bVar6 = bVar12 & 3;" (assignment_expression "bVar6 = bVar12 & 3" (identifier "bVar6") (= "=") (binary_expression "bVar12 & 3" (identifier "bVar12") (& "&") (number_literal "3"))) (; ";")) (expression_statement "unaff_EDI = local_94;" (assignment_expression "unaff_EDI = local_94" (identifier "unaff_EDI") (= "=") (identifier "local_94")) (; ";")) (if_statement "if ((bVar12 & 3) != 0) {\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }" (if "if") (parenthesized_expression "((bVar12 & 3) != 0)" (( "(") (binary_expression "(bVar12 & 3) != 0" (parenthesized_expression "(bVar12 & 3)" (( "(") (binary_expression "bVar12 & 3" (identifier "bVar12") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  bVar16 = bVar16 & 7;\n                  ppuVar23 = local_94;\nLAB_0008cb54:\n                  unaff_EDI = ppuVar23;\n                  if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }\n                }" ({ "{") (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" (identifier "bVar16") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";")) (expression_statement "ppuVar23 = local_94;" (assignment_expression "ppuVar23 = local_94" (identifier "ppuVar23") (= "=") (identifier "local_94")) (; ";")) (labeled_statement "LAB_0008cb54:\n                  unaff_EDI = ppuVar23;" (statement_identifier "LAB_0008cb54") (: ":") (expression_statement "unaff_EDI = ppuVar23;" (assignment_expression "unaff_EDI = ppuVar23" (identifier "unaff_EDI") (= "=") (identifier "ppuVar23")) (; ";"))) (if_statement "if (bVar16 == 4) {\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }" (if "if") (parenthesized_expression "(bVar16 == 4)" (( "(") (binary_expression "bVar16 == 4" (identifier "bVar16") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                    bVar12 = *(byte *)(local_94 + 10);\n                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);\n                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;\n                  }" ({ "{") (expression_statement "bVar12 = *(byte *)(local_94 + 10);" (assignment_expression "bVar12 = *(byte *)(local_94 + 10)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)(local_94 + 10)" (* "*") (cast_expression "(byte *)(local_94 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 10)" (( "(") (binary_expression "local_94 + 10" (identifier "local_94") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);" (assignment_expression "local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12)" (identifier "local_a4") (= "=") (cast_expression "(undefined **)CONCAT31(local_a4._1_3_,bVar12)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_a4._1_3_,bVar12)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,bVar12)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar12") () ")"))))) (; ";")) (if_statement "if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))\n                    goto LAB_0008cb8b;" (if "if") (parenthesized_expression "((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))" (( "(") (binary_expression "(bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0)" (parenthesized_expression "(bVar12 >> 4 != 2)" (( "(") (binary_expression "bVar12 >> 4 != 2" (binary_expression "bVar12 >> 4" (identifier "bVar12") (>> ">>") (number_literal "4")) (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(bVar16 = 4, ((uint)local_94[0xb] & 2) == 0)" (( "(") (comma_expression "bVar16 = 4, ((uint)local_94[0xb] & 2) == 0" (assignment_expression "bVar16 = 4" (identifier "bVar16") (= "=") (number_literal "4")) (, ",") (binary_expression "((uint)local_94[0xb] & 2) == 0" (parenthesized_expression "((uint)local_94[0xb] & 2)" (( "(") (binary_expression "(uint)local_94[0xb] & 2" (cast_expression "(uint)local_94[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_94[0xb]" (identifier "local_94") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0008cb8b;" (goto "goto") (statement_identifier "LAB_0008cb8b") (; ";"))) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_0008c180:\n              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" (statement_identifier "LAB_0008c180") (: ":") (if_statement "if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" (if "if") (parenthesized_expression "((*(byte *)((int)local_94 + 0x2b) & 4) != 0)" (( "(") (binary_expression "(*(byte *)((int)local_94 + 0x2b) & 4) != 0" (parenthesized_expression "(*(byte *)((int)local_94 + 0x2b) & 4)" (( "(") (binary_expression "*(byte *)((int)local_94 + 0x2b) & 4" (pointer_expression "*(byte *)((int)local_94 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_94 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x2b)" (( "(") (binary_expression "(int)local_94 + 0x2b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;\n                *(uint *)(puVar19 + -0x10) = local_a0;\n                *(int *)(puVar19 + -0x14) = local_98;\n                ppuVar23 = (undefined **)*param_2;\n                *(undefined4 **)(puVar19 + -0x18) = param_2;\n                *(undefined ***)(puVar19 + -0x1c) = local_94;\n                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;\n                    \n                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;\n                local_94 = ppuVar23;\n                FUN_00350ac0();\n              }" ({ "{") (expression_statement "*(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;" (assignment_expression "*(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f" (pointer_expression "*(int *)(puVar19 + -0xc)" (* "*") (cast_expression "(int *)(puVar19 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "(int)local_a0 >> 0x1f" (cast_expression "(int)local_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a0")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint *)(puVar19 + -0x10) = local_a0;" (assignment_expression "*(uint *)(puVar19 + -0x10) = local_a0" (pointer_expression "*(uint *)(puVar19 + -0x10)" (* "*") (cast_expression "(uint *)(puVar19 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x14) = local_98;" (assignment_expression "*(int *)(puVar19 + -0x14) = local_98" (pointer_expression "*(int *)(puVar19 + -0x14)" (* "*") (cast_expression "(int *)(puVar19 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "ppuVar23 = (undefined **)*param_2;" (assignment_expression "ppuVar23 = (undefined **)*param_2" (identifier "ppuVar23") (= "=") (cast_expression "(undefined **)*param_2" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "*(undefined4 **)(puVar19 + -0x18) = param_2;" (assignment_expression "*(undefined4 **)(puVar19 + -0x18) = param_2" (pointer_expression "*(undefined4 **)(puVar19 + -0x18)" (* "*") (cast_expression "(undefined4 **)(puVar19 + -0x18)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x18)" (( "(") (binary_expression "puVar19 + -0x18" (identifier "puVar19") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x1c) = local_94;" (assignment_expression "*(undefined ***)(puVar19 + -0x1c) = local_94" (pointer_expression "*(undefined ***)(puVar19 + -0x1c)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x1c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x1c)" (( "(") (binary_expression "puVar19 + -0x1c" (identifier "puVar19") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;" (assignment_expression "*(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40" (pointer_expression "*(undefined ***)(puVar19 + -0x20)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x20)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x20)" (( "(") (binary_expression "puVar19 + -0x20" (identifier "puVar19") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (binary_expression "ppuVar23 + 0x40" (identifier "ppuVar23") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x24) = 0x8c337;" (assignment_expression "*(undefined4 *)(puVar19 + -0x24) = 0x8c337" (pointer_expression "*(undefined4 *)(puVar19 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x24)" (( "(") (binary_expression "puVar19 + -0x24" (identifier "puVar19") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x8c337")) (; ";")) (expression_statement "local_94 = ppuVar23;" (assignment_expression "local_94 = ppuVar23" (identifier "local_94") (= "=") (identifier "ppuVar23")) (; ";")) (expression_statement "FUN_00350ac0();" (call_expression "FUN_00350ac0()" (identifier "FUN_00350ac0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_b8;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_b8" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_b8")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c19e;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c19e" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c19e")) (; ";")) (expression_statement "FUN_00094b30();" (call_expression "FUN_00094b30()" (identifier "FUN_00094b30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x10) = local_9c;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = local_9c" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c1aa" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c1aa")) (; ";")) (expression_statement "FUN_00094b30();" (call_expression "FUN_00094b30()" (identifier "FUN_00094b30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" (else "else") (compound_statement "{\n        *(uint *)(puVar19 + -4) = uVar13;\n        *(undefined4 *)(puVar19 + -8) = param_2[6];\n        *(undefined4 *)(puVar19 + -0xc) = param_2[2];\n        *(undefined4 *)(puVar19 + -0x10) = param_6;\n                    \n        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;\n        local_a0 = FUN_002cda80();\n        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;\n      }" ({ "{") (expression_statement "*(uint *)(puVar19 + -4) = uVar13;" (assignment_expression "*(uint *)(puVar19 + -4) = uVar13" (pointer_expression "*(uint *)(puVar19 + -4)" (* "*") (cast_expression "(uint *)(puVar19 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -8) = param_2[6];" (assignment_expression "*(undefined4 *)(puVar19 + -8) = param_2[6]" (pointer_expression "*(undefined4 *)(puVar19 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = param_2[2];" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = param_2[2]" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x10) = param_6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x10) = param_6" (pointer_expression "*(undefined4 *)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8c888;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8c888" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8c888")) (; ";")) (expression_statement "local_a0 = FUN_002cda80();" (assignment_expression "local_a0 = FUN_002cda80()" (identifier "local_a0") (= "=") (call_expression "FUN_002cda80()" (identifier "FUN_002cda80") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_a0 != 0xffffffff) goto LAB_0008c1ed;" (if "if") (parenthesized_expression "(local_a0 != 0xffffffff)" (( "(") (binary_expression "local_a0 != 0xffffffff" (identifier "local_a0") (!= "!=") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0008c1ed;" (goto "goto") (statement_identifier "LAB_0008c1ed") (; ";"))) (} "}")))) (expression_statement "local_98 = local_98 + 1;" (assignment_expression "local_98 = local_98 + 1" (identifier "local_98") (= "=") (binary_expression "local_98 + 1" (identifier "local_98") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_5 == local_98) goto LAB_0008cc40;" (if "if") (parenthesized_expression "(param_5 == local_98)" (( "(") (binary_expression "param_5 == local_98" (identifier "param_5") (== "==") (identifier "local_98")) () ")")) (goto_statement "goto LAB_0008cc40;" (goto "goto") (statement_identifier "LAB_0008cc40") (; ";"))) (expression_statement "puVar1 = param_4 + 7;" (assignment_expression "puVar1 = param_4 + 7" (identifier "puVar1") (= "=") (binary_expression "param_4 + 7" (identifier "param_4") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "uVar13 = param_4[6];" (assignment_expression "uVar13 = param_4[6]" (identifier "uVar13") (= "=") (subscript_expression "param_4[6]" (identifier "param_4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "param_4 = param_4 + 6;" (assignment_expression "param_4 = param_4 + 6" (identifier "param_4") (= "=") (binary_expression "param_4 + 6" (identifier "param_4") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*puVar1 == 0)" (( "(") (binary_expression "*puVar1 == 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "ppuVar23 = local_90;" (assignment_expression "ppuVar23 = local_90" (identifier "ppuVar23") (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;" (assignment_expression "*(undefined ***)(puVar19 + -8) = local_90 + -0x65b70" (pointer_expression "*(undefined ***)(puVar19 + -8)" (* "*") (cast_expression "(undefined ***)(puVar19 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_90 + -0x65b70" (identifier "local_90") (+ "+") (number_literal "-0x65b70"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc0")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppuVar23 + -0x672d3" (identifier "ppuVar23") (+ "+") (number_literal "-0x672d3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x8cd71;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x8cd71" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x8cd71")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void relocate_section(Target_x86_64<64> * this,
   Relocate_info<64,_false> * relinfo, uint sh_type, uchar * prelocs, size_t reloc_count,
   Output_section * output_section, bool needs_special_offset_handling, uchar * view, Elf_Addr
   address, section_size_type view_size, Reloc_symbol_changes * reloc_symbol_changes) */

void __thiscall
anon_unknown.dwarf_32e241::type_1<64>::function_1
          (type_1<64> *this,type_2<64,type_3> *relinfo,type_4 var_5,type_5 *var_11,
          size_t var_7,type_6 *output_section,bool needs_special_offset_handling,
          type_5 *var_55,type_7 address,type_8 var_53,
          type_9 *var_16)

{
  int *piVar1;
  type_10 **pp_Var2;
  type_10 *var_66;
  type_11 **var_64;
  type_12 ppSVar5;
  type_12 var_21;
  type_12 ppOVar7;
  var_1<64,type_3> *pSVar8;
  type_12 pcVar9;
  type_13 *pcVar10;
  type_14 lVar11;
  type_15 var_52;
  bool var_27;
  type_16 var_62;
  char var_67;
  type_5 *var_59;
  type_17 uVar17;
  type_17 uVar18;
  type_4 var_50;
  type_18 *var_45;
  int var_25;
  char *pcVar22;
  type_16 var_61;
  type_4 var_41;
  type_19 *extraout_ECX;
  type_19 *extraout_ECX_00;
  type_19 *var_63;
  type_19 *extraout_ECX_01;
  type_16 var_51;
  type_20 *pSVar27;
  type_11 **var_65;
  type_21 *puVar29;
  type_17 *var_57;
  type_21 *puVar31;
  type_22 _Var32;
  type_16 *var_69;
  type_16 *var_26;
  type_20 *unaff_EDI;
  type_20 *pSVar35;
  bool var_28;
  bool var_29;
  type_16 bVar38;
  type_23 var_32;
  size_t asStack_104 [6];
  type_21 auStack_dc [12];
  type_20 *local_d0;
  type_20 *local_cc;
  type_4 var_15;
  type_7 var_56;
  char var_12;
  var_2<64> *local_b8;
  type_4 var_22;
  var_1<64,type_3> *local_b0;
  type_4 var_14;
  int var_24;
  var_2<64> *local_a4;
  type_4 var_54;
  var_2<64> *local_9c;
  size_t var_72;
  type_20 *var_20;
  type_11 **var_8;
  type_24 var_58;
  bool is_ordinary;
  type_4 var_43;
  type_7 value;
  var_2<64> var_3;
  var_2<64> var_4;
  type_25 name;
  bool var_31;
  type_21 var_38 [28];
  
  bVar38 = 0;
  var_8 = &_GLOBAL_OFFSET_TABLE_;
  var_12 = needs_special_offset_handling;
  var_56 = address;
  if (var_5 != 4) {
                    /* WARNING: Subroutine does not return */
    gold::var_6("../../gold/x86_64.cc",0x1615,"relocate_section");
  }
  var_58.skip_call_tls_get_addr_ = false;
  local_b0 = relinfo->object;
  pp_Var2 = (local_b0->super_Sized_relobj<64,type_3>).super_Relobj.super_Object._vptr_Object;
  var_66 = pp_Var2[0x23];
  if (var_66 == var_17::type_18::local_symbol_count) {
                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */
    var_15 = (*pp_Var2[0x2f])(local_b0);
  }
  else {
                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */
    var_15 = (*var_66)(local_b0);
  }
  var_57 = (type_17 *)auStack_dc;
  if (var_7 == 0) {
LAB_0008cc40:
    if (var_58.skip_call_tls_get_addr_ != false) {
      *(type_11 ***)((int)var_57 + -0x10) = var_8 + -0x671be;
      *(type_17 *)((int)var_57 + -0x14) = 0x8cd27;
      uVar17 = var_9();
      *(type_17 *)((int)var_57 + -0x10) = uVar17;
      *(type_17 *)((int)var_57 + -0x14) = 0x8cd2f;
      gold::var_10(*(char **)((int)var_57 + -0x10));
      return;
    }
    return;
  }
  var_41 = *(type_4 *)var_11;
  var_57 = (type_17 *)auStack_dc;
  if (*(int *)(var_11 + 4) == 0) {
    var_24 = 0;
    var_72 = 0;
    local_cc = (type_20 *)(var_8 + 0x1f2);
    local_d0 = (type_20 *)(var_8 + 0x1f2);
    var_57 = (type_17 *)auStack_dc;
    do {
      var_54 = var_41;
      if (var_12 == '\0') {
LAB_0008c1ed:
        var_3.output_symtab_index_ = 0;
        var_3.output_dynsym_index_ = 0xffffffff;
        var_14 = *(type_4 *)(var_11 + 0xc);
        var_3._8_4_ = 0x80000000;
        var_3.u_.merged_symbol_value = (var_13<64> *)0x0;
        var_3.u_.value._4_4_ = 0;
        if (var_14 < var_15) {
          if ((var_16 != (type_9 *)0x0) &&
             (var_20 = (type_20 *)
                         (var_16->vec_).
                         super__Vector_base<var_17::type_27*,var_18::var_46<var_17::type_27*>var_19>._M_impl.
                         _M_start[var_72], var_20 != (type_20 *)0x0)) goto LAB_0008bf67;
          var_21 = (local_b0->local_values_).
                   super__Vector_base<var_17::var_2<64>,var_18::var_46<var_17::var_2<64>var_19>var_19>
                   ._M_impl._M_start;
          var_20 = (type_20 *)
                     (local_b0->local_values_).
                     super__Vector_base<var_17::var_2<64>,var_18::var_46<var_17::var_2<64>var_19>var_19>
                     ._M_impl._M_finish;
          if ((type_4)(((int)var_20 - (int)var_21 >> 2) * -0x33333333) <= var_14) {
            *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65dd4;
            *(type_17 *)((int)var_57 + -0xc) = 0x8c1;
            *(int *)((int)var_57 + -0x10) = (int)var_8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(type_17 *)((int)var_57 + -0x14) = 0x8cdda;
            gold::var_6
                      (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
                       *(char **)((int)var_57 + -8));
          }
          local_a4 = var_21 + var_14;
          var_22 = *(type_4 *)&local_a4->field_0x8 & 0x7ffffff;
          if (((local_a4->field_0xb & 8) == 0) || (var_22 == 0)) {
LAB_0008c3f0:
            var_20 = (type_20 *)0x0;
            local_9c = &var_3;
            goto LAB_0008bfef;
          }
          ppOVar7 = (local_b0->super_Sized_relobj<64,type_3>).super_Relobj.output_sections_.
                    super__Vector_base<var_17::type_6*,var_18::var_46<var_17::type_6*>var_19>
                    ._M_impl._M_start;
          var_20 = (type_20 *)
                     (local_b0->super_Sized_relobj<64,type_3>).super_Relobj.output_sections_.
                     super__Vector_base<var_17::type_6*,var_18::var_46<var_17::type_6*>var_19>
                     ._M_impl._M_finish;
          if ((type_4)((int)var_20 - (int)ppOVar7 >> 2) <= var_22) {
            *(type_20 **)((int)var_57 + -4) = unaff_EDI;
            *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65c3f;
            *(type_17 *)((int)var_57 + -0xc) = 0x50b;
            *(int *)((int)var_57 + -0x10) = (int)var_8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */
            *(type_17 *)((int)var_57 + -0x14) = 0x8ceb7;
            gold::var_6
                      (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
                       *(char **)((int)var_57 + -8));
          }
          var_20 = (type_20 *)ppOVar7[var_22];
          if (var_20 != (type_20 *)0x0) goto LAB_0008c3f0;
          *(type_4 *)((int)var_57 + -8) = var_22;
          *(var_1<64,type_3> **)((int)var_57 + -0xc) = local_b0;
          *(type_20 **)((int)var_57 + -0x10) = relinfo->symtab;
                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */
          *(type_17 *)((int)var_57 + -0x14) = 0x8c461;
          var_27 = var_17::Symbol_table::var_23
                             (*(type_20 **)((int)var_57 + -0x10),
                              *(type_18 **)((int)var_57 + -0xc),*(type_4 *)((int)var_57 + -8));
          local_9c = &var_3;
          if (var_27) goto LAB_0008bfef;
LAB_0008c478:
          var_4.output_symtab_index_ = 0;
          pp_Var2 = (local_b0->super_Sized_relobj<64,type_3>).super_Relobj.super_Object._vptr_Object
          ;
          *(type_4 *)((int)var_57 + -8) = relinfo->data_shndx;
          *(var_1<64,type_3> **)((int)var_57 + -0xc) = local_b0;
          local_b8 = &var_4;
          var_4.output_dynsym_index_ = 0xffffffff;
          var_4._8_4_ = 0x80000000;
          var_4.u_.merged_symbol_value = (var_13<64> *)0x0;
          var_4.u_.value._4_4_ = 0;
          *(type_25 **)((int)var_57 + -0x10) = &name;
                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */
          var_66 = pp_Var2[0x10];
          *(type_17 *)((int)var_57 + -0x14) = 0x8c4bd;
          (*var_66)();
          var_27 = false;
          var_29 = var_24 == 0;
          if (var_29) {
            var_25 = 6;
            _Var32 = name._M_dataplus;
            var_26 = (type_16 *)((int)var_8 + -0x19cac3);
            do {
              if (var_25 == 0) break;
              var_25 = var_25 + -1;
              var_27 = (type_16)*_Var32._M_p < *var_26;
              var_29 = *_Var32._M_p == *var_26;
              _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
              var_26 = var_26 + (type_4)bVar38 * -2 + 1;
            } while (var_29);
            var_28 = false;
            var_27 = (!var_27 && !var_29) == var_27;
            if (!var_27) {
              var_25 = 7;
              _Var32 = name._M_dataplus;
              var_65 = var_8 + -0x672af;
              do {
                if (var_25 == 0) break;
                var_25 = var_25 + -1;
                var_28 = (type_16)*_Var32._M_p < *(type_16 *)var_65;
                var_27 = *_Var32._M_p == *(type_16 *)var_65;
                _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
                var_65 = (type_11 **)((int)var_65 + (type_4)bVar38 * -2 + 1);
              } while (var_27);
              var_29 = false;
              var_27 = (!var_28 && !var_27) == var_28;
              if (!var_27) {
                var_25 = 0x11;
                _Var32 = name._M_dataplus;
                var_65 = var_8 + -0x672ad;
                do {
                  if (var_25 == 0) break;
                  var_25 = var_25 + -1;
                  var_29 = (type_16)*_Var32._M_p < *(type_16 *)var_65;
                  var_27 = *_Var32._M_p == *(type_16 *)var_65;
                  _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
                  var_65 = (type_11 **)((int)var_65 + (type_4)bVar38 * -2 + 1);
                } while (var_27);
                var_28 = false;
                var_27 = (!var_29 && !var_27) == var_29;
                if (!var_27) {
                  var_25 = 5;
                  _Var32 = name._M_dataplus;
                  var_26 = (type_16 *)((int)var_8 + -0x19caa2);
                  do {
                    if (var_25 == 0) break;
                    var_25 = var_25 + -1;
                    var_28 = (type_16)*_Var32._M_p < *var_26;
                    var_27 = *_Var32._M_p == *var_26;
                    _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
                    var_26 = var_26 + (type_4)bVar38 * -2 + 1;
                  } while (var_27);
                  var_29 = false;
                  var_27 = (!var_28 && !var_27) == var_28;
                  if (!var_27) {
                    var_25 = 5;
                    _Var32 = name._M_dataplus;
                    var_65 = var_8 + -0x672a7;
                    do {
                      if (var_25 == 0) break;
                      var_25 = var_25 + -1;
                      var_29 = (type_16)*_Var32._M_p < *(type_16 *)var_65;
                      var_27 = *_Var32._M_p == *(type_16 *)var_65;
                      _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
                      var_65 = (type_11 **)((int)var_65 + (type_4)bVar38 * -2 + 1);
                    } while (var_27);
                    var_28 = false;
                    var_27 = (!var_29 && !var_27) == var_29;
                    if (!var_27) {
                      var_25 = 4;
                      _Var32 = name._M_dataplus;
                      var_26 = (type_16 *)((int)var_8 + -0x19ca96);
                      do {
                        if (var_25 == 0) break;
                        var_25 = var_25 + -1;
                        var_28 = (type_16)*_Var32._M_p < *var_26;
                        var_27 = *_Var32._M_p == *var_26;
                        _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
                        var_26 = var_26 + (type_4)bVar38 * -2 + 1;
                      } while (var_27);
                      var_29 = false;
                      var_27 = (!var_28 && !var_27) == var_28;
                      if (!var_27) {
                        var_25 = 10;
                        _Var32 = name._M_dataplus;
                        var_26 = (type_16 *)((int)var_8 + -0x19a212);
                        do {
                          if (var_25 == 0) break;
                          var_25 = var_25 + -1;
                          var_29 = (type_16)*_Var32._M_p < *var_26;
                          var_27 = *_Var32._M_p == *var_26;
                          _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
                          var_26 = var_26 + (type_4)bVar38 * -2 + 1;
                        } while (var_27);
                        var_28 = false;
                        var_27 = (!var_29 && !var_27) == var_29;
                        if (!var_27) {
                          var_25 = 0x12;
                          _Var32 = name._M_dataplus;
                          var_26 = (type_16 *)((int)var_8 + -0x19ca91);
                          do {
                            if (var_25 == 0) break;
                            var_25 = var_25 + -1;
                            var_28 = (type_16)*_Var32._M_p < *var_26;
                            var_27 = *_Var32._M_p == *var_26;
                            _Var32._M_p = (type_12)((type_16 *)_Var32._M_p + (type_4)bVar38 * -2 + 1);
                            var_26 = var_26 + (type_4)bVar38 * -2 + 1;
                          } while (var_27);
                          if ((!var_28 && !var_27) != var_28) goto LAB_0008c67e;
                        }
                        goto LAB_0008c74a;
                      }
                    }
                  }
                }
              }
            }
LAB_0008c4f4:
            *(bool **)((int)var_57 + -8) = &var_31;
            *(type_25 **)((int)var_57 + -0xc) = &name;
            *(type_4 *)((int)var_57 + -0x10) = var_22;
            *(var_1<64,type_3> **)((int)var_57 + -0x14) = local_b0;
                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */
            *(type_17 *)((int)var_57 + -0x18) = 0x8c510;
            var_32 = var_17::var_1<64,type_3>::var_30
                               (*(var_1<64,type_3> **)((int)var_57 + -0x14),
                                *(type_4 *)((int)var_57 + -0x10),*(type_25 **)((int)var_57 + -0xc),
                                *(bool **)((int)var_57 + -8));
            var_4.u_.merged_symbol_value = (var_13<64> *)0x0;
            var_4.u_.value._4_4_ = 0;
            if (var_31 != false) {
              var_4.u_.merged_symbol_value =
                   (var_13<64> *)
                   ((int)&((local_a4->u_).merged_symbol_value)->input_value_ + (type_4)var_32);
              var_4.u_.value._4_4_ =
                   (int)(var_32 >> 0x20) + *(int *)((int)&local_a4->u_ + 4) +
                   (type_4)var_33((type_4)var_32,(type_4)(local_a4->u_).merged_symbol_value);
            }
            var_24 = 1;
          }
          else {
            if (var_24 == 1) goto LAB_0008c4f4;
            if (var_24 == 3) {
LAB_0008c67e:
              pSVar8 = relinfo->object;
              if (var_20 == (type_20 *)0x0) {
                *(type_4 *)((int)var_57 + -0x10) = var_14;
                *(var_1<64,type_3> **)((int)var_57 + -0x14) = pSVar8;
                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */
                *(type_17 *)((int)var_57 + -0x18) = 0x8c7c5;
                pcVar22 = var_17::var_1<64,type_3>::var_34
                                    (*(var_1<64,type_3> **)((int)var_57 + -0x14),
                                     *(type_4 *)((int)var_57 + -0x10));
                *(type_11 ***)((int)var_57 + -0x14) = var_8 + -0x671fa;
                *(type_17 *)((int)var_57 + -0x18) = 0x8c7db;
                uVar17 = var_9();
                *(type_4 *)((int)var_57 + -0xc) = var_14;
                *(char **)((int)var_57 + -0x10) = pcVar22;
                *(type_17 *)((int)var_57 + -0x14) = uVar17;
                *(int *)((int)var_57 + -0x18) = (int)var_54 >> 0x1f;
                *(type_4 *)((int)var_57 + -0x1c) = var_54;
                *(size_t *)((int)var_57 + -0x20) = var_72;
                *(type_2<64,type_3> **)((int)var_57 + -0x24) = relinfo;
                *(type_17 *)((int)var_57 + -0x28) = 0x8c803;
                gold::var_35<64,type_3>
                          (*(var_17 **)((int)var_57 + -0x24),
                           *(type_2<64,type_3> **)((int)var_57 + -0x20),
                           *(size_t *)((int)var_57 + -0x1c),*(type_26 *)((int)var_57 + -0x18),
                           *(char **)((int)var_57 + -0x10));
              }
              else {
                *(type_20 **)((int)var_57 + -0x10) = var_20;
                *(bool **)((int)var_57 + -0x14) = &var_31;
                *(type_17 *)((int)var_57 + -0x18) = 0x8c6aa;
                gold::Symbol::var_36(*(type_27 **)((int)var_57 + -0x10));
                puVar29 = var_37;
                *(type_11 ***)((int)var_57 + -0x14) = var_8 + -0x671e4;
                *(type_17 *)((int)var_57 + -0x18) = 0x8c6bf;
                uVar17 = var_9();
                *(type_21 **)((int)var_57 + -0x10) = puVar29;
                *(type_17 *)((int)var_57 + -0x14) = uVar17;
                *(int *)((int)var_57 + -0x18) = (int)var_54 >> 0x1f;
                *(type_4 *)((int)var_57 + -0x1c) = var_54;
                *(size_t *)((int)var_57 + -0x20) = var_72;
                *(type_2<64,type_3> **)((int)var_57 + -0x24) = relinfo;
                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */
                *(type_17 *)((int)var_57 + -0x28) = 0x8c6e2;
                gold::var_35<64,type_3>
                          (*(var_17 **)((int)var_57 + -0x24),
                           *(type_2<64,type_3> **)((int)var_57 + -0x20),
                           *(size_t *)((int)var_57 + -0x1c),*(type_26 *)((int)var_57 + -0x18),
                           *(char **)((int)var_57 + -0x10));
                if (var_37 != var_38) {
                  *(type_21 **)((int)var_57 + -0x14) = var_37;
                  *(type_17 *)((int)var_57 + -0x18) = 0x8c6f8;
                  var_39(*(void **)((int)var_57 + -0x14));
                }
              }
              *(bool **)((int)var_57 + -8) = &is_ordinary;
              *(type_7 **)((int)var_57 + -0xc) = &value;
              *(type_4 *)((int)var_57 + -0x10) = var_14;
              *(var_1<64,type_3> **)((int)var_57 + -0x14) = pSVar8;
                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */
              *(type_17 *)((int)var_57 + -0x18) = 0x8c715;
              var_41 = var_17::var_1<64,type_3>::var_40
                                 (*(var_1<64,type_3> **)((int)var_57 + -0x14),
                                  *(type_4 *)((int)var_57 + -0x10),*(type_23 **)((int)var_57 + -0xc)
                                  ,*(bool **)((int)var_57 + -8));
              if (var_41 != 0) {
                *(type_4 **)((int)var_57 + -0xc) = &var_43;
                *(type_4 *)((int)var_57 + -0x10) = var_41;
                *(var_1<64,type_3> **)((int)var_57 + -0x14) = pSVar8;
                *(type_17 *)((int)var_57 + -0x18) = 0x8c824;
                var_45 = var_17::var_1<64,type_3>::var_42
                                    (*(var_1<64,type_3> **)((int)var_57 + -0x14),
                                     *(type_4 *)((int)var_57 + -0x10),*(type_4 **)((int)var_57 + -0xc)
                                    );
                if (var_43 != 0) {
                  *(type_4 *)((int)var_57 + -0x10) = var_43;
                  *(var_1<64,type_3> **)((int)var_57 + -0x14) = pSVar8;
                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */
                  *(type_17 *)((int)var_57 + -0x18) = 0x8cce0;
                  pcVar22 = var_17::var_1<64,type_3>::var_34
                                      (*(var_1<64,type_3> **)((int)var_57 + -0x14),
                                       *(type_4 *)((int)var_57 + -0x10));
                  *(type_11 ***)((int)var_57 + -0x14) = var_8 + -0x671cf;
                  *(type_17 *)((int)var_57 + -0x18) = 0x8ccf6;
                  uVar17 = var_9();
                  *(char **)((int)var_57 + -0x10) = pcVar22;
                  *(type_17 *)((int)var_57 + -0x14) = uVar17;
                  *(type_17 *)((int)var_57 + -0x18) = 0x8cd05;
                  gold::var_44(*(char **)((int)var_57 + -0x14));
                }
                if (var_45 != (type_18 *)0x0) {
                  pcVar9 = (var_45->super_Object).name_._M_dataplus._M_p;
                  *(type_11 ***)((int)var_57 + -0x14) = var_8 + -0x671c7;
                  *(type_17 *)((int)var_57 + -0x18) = 0x8c856;
                  uVar17 = var_9();
                  *(type_12 *)((int)var_57 + -0x10) = pcVar9;
                  *(type_17 *)((int)var_57 + -0x14) = uVar17;
                  *(type_17 *)((int)var_57 + -0x18) = 0x8c85f;
                  gold::var_44(*(char **)((int)var_57 + -0x14));
                }
              }
              var_24 = 3;
            }
            else {
LAB_0008c74a:
              var_24 = 2;
            }
            var_4.u_.merged_symbol_value = (var_13<64> *)0x0;
            var_4.u_.value._4_4_ = 0;
          }
          puVar31 = (type_21 *)((int)var_57 + -4);
          puVar29 = (type_21 *)((int)var_57 + -4);
          if (var_4.output_symtab_index_ != 0) {
            *(type_11 ***)((int)var_57 + -0xc) = var_8 + -0x65e18;
            *(type_17 *)((int)var_57 + -0x10) = 0x716;
            *(int *)((int)var_57 + -0x14) = (int)var_8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */
            *(type_11 **)((int)var_57 + -0x18) = &UNK_0008cd92;
            gold::var_6
                      (*(char **)((int)var_57 + -0x14),*(int *)((int)var_57 + -0x10),
                       *(char **)((int)var_57 + -0xc));
          }
          var_4.output_symtab_index_ = 0xffffffff;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_47,var_18::char_traits<var_47>,var_18::var_46<var_47>var_19>var_48
               *)name._M_dataplus._M_p != &name.field_2) {
            *(type_12 *)((int)var_57 + -0x14) = name._M_dataplus._M_p;
            *(type_17 *)((int)var_57 + -0x18) = 0x8c568;
            var_39(*(void **)((int)var_57 + -0x14));
          }
          local_b8 = &var_4;
          local_a4 = &var_4;
          if (-1 < (int)var_54) goto LAB_0008c029;
LAB_0008c588:
          var_59 = (type_5 *)0x0;
          var_57 = (type_17 *)puVar31;
        }
        else {
          if ((var_16 == (type_9 *)0x0) ||
             (var_20 = (type_20 *)
                         (var_16->vec_).
                         super__Vector_base<var_17::type_27*,var_18::var_46<var_17::type_27*>var_19>._M_impl.
                         _M_start[var_72], var_20 == (type_20 *)0x0)) {
            if (var_14 < local_b0->local_symbol_count_) {
LAB_0008cd98:
              *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65e11;
              *(type_17 *)((int)var_57 + -0xc) = 0x17f;
              *(int *)((int)var_57 + -0x10) = (int)var_8 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */
              *(type_17 *)((int)var_57 + -0x14) = 0x8cdb9;
              gold::var_6
                        (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
                         *(char **)((int)var_57 + -8));
            }
            ppSVar5 = (local_b0->symbols_).
                      super__Vector_base<var_17::type_27*,var_18::var_46<var_17::type_27*>var_19>._M_impl.
                      _M_start;
            var_41 = var_14 - local_b0->local_symbol_count_;
            var_20 = (type_20 *)
                       (local_b0->symbols_).
                       super__Vector_base<var_17::type_27*,var_18::var_46<var_17::type_27*>var_19>._M_impl.
                       _M_finish;
            if ((type_4)((int)var_20 - (int)ppSVar5 >> 2) <= var_41) {
              *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65dcc;
              *(type_17 *)((int)var_57 + -0xc) = 0x8ad;
              *(int *)((int)var_57 + -0x10) = (int)var_8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(type_17 *)((int)var_57 + -0x14) = 0x8cdfb;
              gold::var_6
                        (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
                         *(char **)((int)var_57 + -8));
            }
            var_20 = (type_20 *)ppSVar5[var_41];
            if (var_20 == (type_20 *)0x0) goto LAB_0008cd98;
            if (((var_20->table_)._M_h._M_bucket_count & 0x100000) == 0) goto LAB_0008bf67;
            *(type_20 **)((int)var_57 + -0xc) = var_20;
            *(type_20 **)((int)var_57 + -0x10) = relinfo->symtab;
                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */
            *(type_17 *)((int)var_57 + -0x14) = 0x8c2bd;
            var_20 = (type_20 *)
                       var_17::Symbol_table::var_49
                                 (*(type_20 **)((int)var_57 + -0x10),
                                  *(type_27 **)((int)var_57 + -0xc));
            var_50 = var_20->output_count_;
            var_41 = var_50 - 1;
            if (0xfffffffd < var_41) {
              if (var_3.output_symtab_index_ != 0) {
                *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65e18;
                *(type_17 *)((int)var_57 + -0xc) = 0x716;
                *(int *)((int)var_57 + -0x10) = (int)var_8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                *(type_11 **)((int)var_57 + -0x14) = &UNK_0008c2fd;
                gold::var_6
                          (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
                           *(char **)((int)var_57 + -8));
              }
              goto LAB_0008bf7c;
            }
            if ((var_3.output_symtab_index_ != 0) && (var_3.output_symtab_index_ != 0xfffffffe)) {
              *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65d5b;
              *(type_17 *)((int)var_57 + -0xc) = 0x70c;
              *(int *)((int)var_57 + -0x10) = (int)var_8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(type_17 *)((int)var_57 + -0x14) = 0x8ce1c;
              gold::var_6
                        (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
                         *(char **)((int)var_57 + -8));
            }
LAB_0008c350:
            if (var_41 == 0xfffffffd) {
              *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65d5b;
              *(type_17 *)((int)var_57 + -0xc) = 0x70d;
              *(int *)((int)var_57 + -0x10) = (int)var_8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(type_17 *)((int)var_57 + -0x14) = 0x8ce3d;
              gold::var_6
                        (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
                         *(char **)((int)var_57 + -8));
            }
            var_3.output_symtab_index_ = var_50;
          }
          else {
LAB_0008bf67:
            var_50 = var_20->output_count_;
            var_41 = var_50 - 1;
            if (var_41 < 0xfffffffe) goto LAB_0008c350;
LAB_0008bf7c:
            var_3.output_symtab_index_ = 0xffffffff;
          }
          var_3.u_.merged_symbol_value =
               (var_13<64> *)(var_20->table_)._M_h._M_element_count;
          var_3.u_.value._4_4_ = (var_20->table_)._M_h._M_rehash_policy._M_max_load_factor;
          var_51 = (type_16)(var_20->table_)._M_h._M_bucket_count & 0xf;
          if (var_51 == 6) {
            var_3._8_4_ = var_3._8_4_ | 0x20000000;
          }
          else if (var_51 == 10) {
            var_3._8_4_ = var_3._8_4_ | 0x40000000;
          }
          var_51 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 3);
          if ((char)var_51 < '\0') {
            var_52 = (var_20->table_)._M_h._M_bucket_count;
            if ((var_52 & 0x70000) == 0) {
              if ((((type_28 *)
                   ((type_29 *)&var_20->offset_ + 1))->shndx == 0) &&
                 ((var_51 & 0x20) != 0)) {
LAB_0008cc18:
                var_22 = 0;
                local_a4 = &var_3;
                local_9c = local_a4;
                goto LAB_0008c478;
              }
            }
            else if ((var_52 & 0x70000) == 0x40000) goto LAB_0008cc18;
          }
          local_9c = &var_3;
          local_a4 = &var_3;
LAB_0008bfef:
          var_4.output_symtab_index_ = 0;
          local_b8 = &var_4;
          var_4.output_dynsym_index_ = 0xffffffff;
          var_4._8_4_ = 0x80000000;
          var_4.u_.merged_symbol_value = (var_13<64> *)0x0;
          var_4.u_.value._4_4_ = 0;
          puVar29 = (type_21 *)var_57;
          puVar31 = (type_21 *)var_57;
          if ((int)var_54 < 0) goto LAB_0008c588;
LAB_0008c029:
          puVar31 = puVar29;
          if (var_53 <= var_54) goto LAB_0008c588;
          var_59 = var_55 + var_54;
          var_57 = (type_17 *)puVar29;
        }
        var_57[-1] = var_53;
        lVar11 = var_56 + (type_14)(int)var_54;
        *(type_14 *)(var_57 + -3) = lVar11;
        var_57[-4] = var_59;
        var_57[-5] = local_a4;
        var_57[-6] = var_20;
        var_57[-7] = var_11;
        var_57[-8] = var_72;
                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */
        var_57[-9] = 0x8c077;
        var_27 = type_24::var_58((type_24 *)var_57[-8],(type_2<64,type_3> *)var_57[-7],
                                    var_57[-6],(type_1<64> *)var_57[-5],
                                    (type_6 *)var_57[-4],var_57[-3],(type_5 *)var_57[-2],
                                    (Sized_symbol<64> *)var_57[-1],(var_2<64> *)*var_57,
                                    (type_5 *)var_57[1],*(type_7 *)(var_57 + 2),var_57[4]);
        pSVar35 = var_20;
        unaff_EDI = (type_20 *)((ulonglong)lVar11 >> 0x20);
        if (var_27) {
          if (var_59 == (type_5 *)0x0) {
            var_57[-4] = (int)var_8 + -0x19ca7f;
            var_57[-5] = 0x8c787;
            uVar17 = var_9();
            unaff_EDI = (type_20 *)var_57[-4];
            var_57[-3] = var_54;
            var_57[-4] = uVar17;
            var_57[-5] = (int)var_54 >> 0x1f;
            var_57[-6] = var_54;
            var_57[-7] = var_72;
            var_57[-8] = relinfo;
                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */
            var_57[-9] = 0x8c7a6;
            gold::var_35<64,type_3>
                      ((var_17 *)var_57[-8],(type_2<64,type_3> *)var_57[-7],var_57[-6],
                       *(type_26 *)(var_57 + -5),(char *)var_57[-3]);
          }
          else {
            unaff_EDI = var_20;
            if (var_20 != (type_20 *)0x0) {
              var_51 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 2);
              var_62 = var_51 & 7;
              if ((var_51 & 7) == 0) {
                if ((((type_28 *)
                     ((type_29 *)&var_20->offset_ + 1))->shndx == 0) &&
                   (((var_20->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {
LAB_0008cbc8:
                  var_61 = (type_16)(var_20->table_)._M_h._M_bucket_count;
                  local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_61);
                  var_61 = var_61 >> 4;
                  var_63 = (type_19 *)(type_4)var_61;
                  pSVar35 = var_20;
                  if (var_61 != 2) {
                    if (((type_4)(var_20->table_)._M_h._M_before_begin._M_nxt & 2) != 0) {
                      var_62 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 1);
                      local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_62);
                      var_62 = var_62 & 3;
                      goto LAB_0008cad3;
                    }
                    pSVar27 = (type_20 *)(var_8 + 0x1f2);
                    var_63 = (type_19 *)
                              ((type_30 *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];
                    if (var_63 == (type_19 *)0x0) {
                      var_57[-1] = var_20;
                      var_57[-2] = var_8 + -0x65b32;
                      var_57[-3] = 0x5c;
                      var_57[-4] = (int)var_8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */
                      var_57[-5] = 0x8cecf;
                      gold::var_6((char *)var_57[-4],var_57[-3],(char *)var_57[-2])
                      ;
                    }
                    if (*(char *)((int)&var_63[0x150].xindex_ + 1) == '\0') {
                      if ((char)*(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 3) <
                          '\0') {
                        if (var_62 == 0) {
                          var_65 = var_8 + -0x15e4b4;
                          goto LAB_0008ca90;
                        }
                        goto LAB_0008cb38;
                      }
                      goto LAB_0008c8f9;
                    }
                  }
                  goto LAB_0008cac0;
                }
                var_63 = ((type_29 *)&var_20->offset_)->object;
                var_65 = var_8 + -0x15e4b4;
                var_64 = (type_11 **)var_63->_vptr_Object[5];
                if (var_64 == var_65) {
LAB_0008c0da:
                  var_51 = var_51 & 7;
                  var_61 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 1);
                  local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_61);
                  var_62 = var_61 & 3;
                  unaff_EDI = var_20;
                  if ((var_61 & 3) == 0) goto LAB_0008c180;
                }
                else {
                  var_57[-4] = var_63;
                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */
                  var_57[-5] = 0x8c8b6;
                  var_25 = (*(type_13 *)var_64)();
                  var_63 = extraout_ECX;
                  if (var_25 == 0) {
LAB_0008cac0:
                    var_62 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 1);
                    local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_62);
                    var_62 = var_62 & 3;
                  }
                  else {
                    var_51 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 2);
                    var_62 = var_51 & 7;
                    if ((var_51 & 7) == 0) {
                      if (((type_28 *)
                          ((type_29 *)&var_20->offset_ + 1))->shndx == 0)
                      {
                        var_61 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 3);
                        if ((var_61 & 0x20) != 0) goto LAB_0008cbc8;
                      }
                      else {
                        var_61 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 3);
                      }
                      if ((char)var_61 < '\0') {
LAB_0008ca90:
                        pSVar35 = var_20;
                        var_63 = ((type_29 *)&var_20->offset_)->object;
                        var_64 = (type_11 **)var_63->_vptr_Object[5];
                        if (var_64 == var_65) goto LAB_0008c0da;
                        var_57[-4] = var_63;
                        var_57[-5] = 0x8caac;
                        var_25 = (*(type_13 *)var_64)();
                        var_63 = extraout_ECX_01;
                        pSVar27 = local_d0;
                        if (var_25 != 0) goto LAB_0008c8f9;
                        goto LAB_0008cac0;
                      }
                    }
                    else {
                      if (var_62 == 4) goto LAB_0008cbc8;
                      if ((char)*(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 3) <
                          '\0') goto LAB_0008cb38;
                    }
                    pSVar27 = (type_20 *)(var_8 + 0x1f2);
                    pSVar35 = var_20;
LAB_0008c8f9:
                    var_66 = ((type_30 *)&pSVar27->saw_undefined_)->_vptr_Output_data[3];
                    if (var_66 == (type_10 *)0x0) {
                      var_57[-2] = var_8 + -0x65bc7;
                      var_57[-3] = 0x69;
                      var_57[-4] = (int)var_8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */
                      var_57[-5] = 0x8ce5b;
                      gold::var_6((char *)var_57[-4],var_57[-3],(char *)var_57[-2])
                      ;
                    }
                    var_25 = *(int *)var_66;
                    var_57[-3] = var_20;
                    var_57[-4] = var_66;
                    pcVar10 = *(type_13 **)(var_25 + 0x1c);
                    var_57[-5] = 0x8c915;
                    var_67 = (*pcVar10)();
                    var_63 = extraout_ECX_00;
                    if (var_67 != '\0') goto LAB_0008cac0;
                    var_66 = ((type_30 *)&pSVar27->saw_undefined_)->_vptr_Output_data[2];
                    if (var_66 == (type_10 *)0x0) {
                      var_57[-2] = var_8 + -0x65b32;
                      var_57[-3] = 0x5c;
                      var_57[-4] = (int)var_8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                      var_57[-5] = 0x8ce79;
                      gold::var_6((char *)var_57[-4],var_57[-3],(char *)var_57[-2])
                      ;
                    }
                    var_26 = *(type_16 **)(var_66 + 0x42e4);
                    var_27 = false;
                    var_29 = var_26 == (type_16 *)0x0;
                    if (var_29) {
                      var_62 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 1);
                      local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_62);
                      var_62 = var_62 & 3;
LAB_0008c9da:
                      if (((var_62 == 2) || (var_66[0x1a25] == (type_10)0x0)) ||
                         (var_66[0x4eb5] != (type_10)0x0)) {
LAB_0008c9f4:
                        var_57[-4] = (int)var_54 >> 0x1f;
                        var_57[-5] = var_54;
                        var_57[-6] = var_72;
                        var_57[-7] = relinfo;
                        var_57[-8] = var_20;
                        var_57[-9] = 0x8ca1a;
                        gold::var_68<64,type_3>
                                  ((var_17 *)var_57[-8],(type_27 *)var_57[-7],
                                   (type_2<64,type_3> *)var_57[-6],var_57[-5],
                                   *(type_26 *)(var_57 + -4));
                        unaff_EDI = pSVar35;
                        goto LAB_0008c180;
                      }
                    }
                    else {
                      var_63 = (type_19 *)0xb;
                      var_69 = var_26;
                      pSVar27 = (type_20 *)((int)var_8 + -0x1a1fa6);
                      do {
                        pSVar35 = pSVar27;
                        if (var_63 == (type_19 *)0x0) break;
                        var_63 = (type_19 *)((int)&var_63[-1].compressed_sections_ + 3);
                        pSVar35 = (type_20 *)((int)pSVar27 + (type_4)bVar38 * -2 + 1);
                        var_51 = *(type_16 *)&((type_30 *)&pSVar27->saw_undefined_)->
                                           _vptr_Output_data;
                        var_27 = *var_69 < var_51;
                        var_29 = *var_69 == var_51;
                        var_69 = var_69 + (type_4)bVar38 * -2 + 1;
                        pSVar27 = pSVar35;
                      } while (var_29);
                      var_28 = false;
                      var_27 = (!var_27 && !var_29) == var_27;
                      if (var_27) goto LAB_0008cac0;
                      var_25 = 0xb;
                      var_69 = var_26;
                      pSVar27 = (type_20 *)((int)var_8 + -0x1a1f9b);
                      do {
                        pSVar35 = pSVar27;
                        if (var_25 == 0) break;
                        var_25 = var_25 + -1;
                        pSVar35 = (type_20 *)((int)pSVar27 + (type_4)bVar38 * -2 + 1);
                        var_51 = *(type_16 *)&((type_30 *)&pSVar27->saw_undefined_)->
                                           _vptr_Output_data;
                        var_28 = *var_69 < var_51;
                        var_27 = *var_69 == var_51;
                        var_69 = var_69 + (type_4)bVar38 * -2 + 1;
                        pSVar27 = pSVar35;
                      } while (var_27);
                      var_29 = false;
                      var_27 = (!var_28 && !var_27) == var_28;
                      if (var_27) goto LAB_0008c9f4;
                      var_25 = 0x17;
                      var_69 = var_26;
                      var_65 = var_8 + -0x687e4;
                      do {
                        if (var_25 == 0) break;
                        var_25 = var_25 + -1;
                        var_29 = *var_69 < *(type_16 *)var_65;
                        var_27 = *var_69 == *(type_16 *)var_65;
                        var_69 = var_69 + (type_4)bVar38 * -2 + 1;
                        var_65 = (type_11 **)((int)var_65 + (type_4)bVar38 * -2 + 1);
                      } while (var_27);
                      var_62 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 1);
                      local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_62);
                      var_67 = (!var_29 && !var_27) - var_29;
                      var_63 = (type_19 *)var_60((int3)((type_4)var_25 >> 8),var_67);
                      var_62 = var_62 & 3;
                      var_27 = var_67 == '\0';
                      if ((!var_27) ||
                         (var_27 = ((var_20->table_)._M_h._M_bucket_count & 0x1000000) == 0,
                         pSVar35 = var_20, !var_27)) {
                        var_29 = false;
                        var_63 = (type_19 *)0x16;
                        pSVar27 = (type_20 *)((int)var_8 + -0x1a1f79);
                        do {
                          pSVar35 = pSVar27;
                          if (var_63 == (type_19 *)0x0) break;
                          var_63 = (type_19 *)((int)&var_63[-1].compressed_sections_ + 3);
                          pSVar35 = (type_20 *)((int)pSVar27 + (type_4)bVar38 * -2 + 1);
                          var_51 = *(type_16 *)&((type_30 *)&pSVar27->saw_undefined_)->
                                             _vptr_Output_data;
                          var_29 = *var_26 < var_51;
                          var_27 = *var_26 == var_51;
                          var_26 = var_26 + (type_4)bVar38 * -2 + 1;
                          pSVar27 = pSVar35;
                        } while (var_27);
                        if (((!var_29 && !var_27) != var_29) ||
                           ((char)*(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 2)
                            < '\0')) goto LAB_0008c9da;
                      }
                    }
                  }
LAB_0008cad3:
                  unaff_EDI = pSVar35;
                  if (var_62 == 0) goto LAB_0008c180;
                  var_51 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 2);
                  local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_51);
                  var_51 = var_51 & 7;
                  if (var_51 != 0) goto LAB_0008cb54;
                }
                if ((((type_28 *)
                     ((type_29 *)&var_20->offset_ + 1))->shndx == 0) &&
                   (((var_20->table_)._M_h._M_bucket_count & 0x20000000) != 0)) {
                  var_61 = (type_16)(var_20->table_)._M_h._M_bucket_count;
                  local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_61);
                  var_63 = (type_19 *)(type_4)(var_61 >> 4);
                  if ((var_61 >> 4 == 2) ||
                     (((type_4)(var_20->table_)._M_h._M_before_begin._M_nxt & 2) != 0))
                  goto LAB_0008c10d;
LAB_0008cb8b:
                  var_63 = (type_19 *)
                            ((type_30 *)&local_cc->saw_undefined_)->_vptr_Output_data[2];
                  if (var_63 == (type_19 *)0x0) {
                    var_57[-1] = (type_4)var_61;
                    var_57[-2] = var_8 + -0x65b32;
                    var_57[-3] = 0x5c;
                    var_57[-4] = (int)var_8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */
                    var_57[-5] = &LAB_0008cf0a;
                    gold::var_6((char *)var_57[-4],var_57[-3],(char *)var_57[-2]);
                  }
                  if (*(char *)((int)&var_63[0x150].xindex_ + 1) != '\0') {
                    unaff_EDI = local_cc;
                    if (var_51 != 0) goto LAB_0008c180;
                    goto LAB_0008c10d;
                  }
                }
                else {
LAB_0008c10d:
                  unaff_EDI = var_20;
                  if (((type_4)((type_29 *)&var_20->offset_)->output_segment
                             ->output_lists_[3].
                             super__Vector_base<var_17::type_30*,var_18::var_46<var_17::type_30*>var_19>
                             ._M_impl._M_end_of_storage & 1) == 0) goto LAB_0008c180;
                }
                if (var_62 == 2) {
                  var_57[-4] = (int)var_8 + -0x19ca5d;
                  var_57[-5] = 0x8cc6d;
                  uVar17 = var_9();
                }
                else if (var_62 < 3) {
                  if (var_62 != 1) {
                    var_57[-1] = var_63;
                    var_57[-2] = var_8 + -0x65c80;
                    var_57[-3] = 0xa4;
                    var_57[-4] = (int)var_8 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    var_57[-5] = 0x8ce98;
                    gold::var_6((char *)var_57[-4],var_57[-3],(char *)var_57[-2]);
                  }
                  var_57[-4] = (int)var_8 + -0x19ca66;
                  var_57[-5] = 0x8c385;
                  uVar17 = var_9();
                }
                else {
                  var_57[-4] = (int)var_8 + -0x19ca56;
                  var_57[-5] = 0x8c13f;
                  uVar17 = var_9();
                }
                unaff_EDI = (type_20 *)
                            ((type_30 *)&var_20->saw_undefined_)->_vptr_Output_data;
                var_57[-4] = var_8 + -0x67173;
                var_57[-5] = 0x8c163;
                uVar18 = var_9();
                var_57[-2] = unaff_EDI;
                var_57[-3] = uVar17;
                var_57[-4] = uVar18;
                var_57[-5] = 0x8c174;
                gold::var_10((char *)var_57[-4]);
              }
              else {
                if (var_62 == 4) goto LAB_0008cbc8;
LAB_0008cb38:
                var_61 = *(type_21 *)((int)&(var_20->table_)._M_h._M_bucket_count + 1);
                local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_61);
                var_62 = var_61 & 3;
                unaff_EDI = var_20;
                if ((var_61 & 3) != 0) {
                  var_51 = var_51 & 7;
                  pSVar35 = var_20;
LAB_0008cb54:
                  unaff_EDI = pSVar35;
                  if (var_51 == 4) {
                    var_61 = (type_16)(var_20->table_)._M_h._M_bucket_count;
                    local_a4 = (var_2<64> *)var_60(local_a4._1_3_,var_61);
                    if ((var_61 >> 4 != 2) &&
                       (var_51 = 4, ((type_4)(var_20->table_)._M_h._M_before_begin._M_nxt & 2) == 0)
                       ) goto LAB_0008cb8b;
                  }
                }
              }
LAB_0008c180:
              if (((var_20->table_)._M_h._M_bucket_count & 0x4000000) != 0) {
                var_57[-3] = (int)var_54 >> 0x1f;
                var_57[-4] = var_54;
                var_57[-5] = var_72;
                pSVar35 = relinfo->symtab;
                var_57[-6] = relinfo;
                var_57[-7] = var_20;
                var_20 = pSVar35;
                var_57[-8] = &pSVar35->warnings_;
                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */
                var_57[-9] = 0x8c337;
                gold::Warnings::var_70<64,type_3>
                          ((type_31 *)var_57[-8],(type_27 *)var_57[-7],
                           (type_2<64,type_3> *)var_57[-6],var_57[-5],
                           *(type_26 *)(var_57 + -4));
              }
            }
          }
        }
        var_57[-4] = local_b8;
        var_57[-5] = 0x8c19e;
        var_17::var_2<64>::~var_2((var_2<64> *)var_57[-4],var_57[-3]);
        var_57[-4] = local_9c;
        var_57[-5] = 0x8c1aa;
        var_17::var_2<64>::~var_2((var_2<64> *)var_57[-4],var_57[-3]);
      }
      else {
        *(type_4 *)((int)var_57 + -4) = var_41;
        *(type_4 *)((int)var_57 + -8) = relinfo->data_shndx;
        *(var_1<64,type_3> **)((int)var_57 + -0xc) = relinfo->object;
        *(type_6 **)((int)var_57 + -0x10) = output_section;
                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */
        *(type_17 *)((int)var_57 + -0x14) = 0x8c888;
        var_54 = var_17::Output_section::var_71
                             (*(type_6 **)((int)var_57 + -0x10),
                              *(type_18 **)((int)var_57 + -0xc),*(type_4 *)((int)var_57 + -8),
                              *(type_32 *)((int)var_57 + -4));
        if (var_54 != 0xffffffff) goto LAB_0008c1ed;
      }
      var_72 = var_72 + 1;
      if (var_7 == var_72) goto LAB_0008cc40;
      piVar1 = (int *)(var_11 + 0x1c);
      var_41 = *(type_4 *)(var_11 + 0x18);
      var_11 = var_11 + 0x18;
    } while (*piVar1 == 0);
  }
  var_65 = var_8;
  *(type_11 ***)((int)var_57 + -8) = var_8 + -0x65b70;
  *(type_17 *)((int)var_57 + -0xc) = 0xc0;
  *(type_11 ***)((int)var_57 + -0x10) = var_65 + -0x672d3;
                    /* WARNING: Subroutine does not return */
  *(type_17 *)((int)var_57 + -0x14) = 0x8cd71;
  gold::var_6
            (*(char **)((int)var_57 + -0x10),*(int *)((int)var_57 + -0xc),
             *(char **)((int)var_57 + -8));
}


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

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

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

{
  uint *puVar1;
  code *pcVar2;
  undefined **ppuVar3;
  undefined1 *puVar4;
  char cVar5;
  byte bVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined *puVar10;
  undefined4 uVar11;
  byte bVar12;
  uint uVar13;
  int *extraout_ECX;
  int *extraout_ECX_00;
  int *piVar14;
  int iVar15;
  int *extraout_ECX_01;
  byte bVar16;
  undefined *puVar17;
  undefined **ppuVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  byte *pbVar21;
  byte *pbVar22;
  undefined **unaff_EDI;
  undefined **ppuVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  undefined8 uVar28;
  undefined1 auStack_dc [12];
  undefined **local_d0;
  undefined **local_cc;
  uint local_c8;
  uint local_c4;
  int local_c0;
  char local_b9;
  undefined **local_b8;
  uint local_b4;
  int *local_b0;
  uint local_ac;
  int local_a8;
  undefined **local_a4;
  uint local_a0;
  undefined **local_9c;
  int local_98;
  undefined **local_94;
  undefined **local_90;
  char local_82;
  undefined1 local_81;
  int local_80;
  undefined1 local_7c [8];
  undefined *local_74;
  undefined4 local_70;
  uint local_6c;
  undefined *local_68;
  undefined *local_64;
  undefined *local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined *local_54;
  undefined *local_50;
  byte *local_4c [2];
  byte local_44 [16];
  undefined1 *local_34 [2];
  undefined1 local_2c [28];
  
  bVar27 = 0;
  local_90 = &__DT_PLTGOT;
  local_c4 = param_9;
  local_c0 = param_10;
  local_b9 = param_7;
  if (param_3 != 4) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/x86_64.cc",0x1615,"relocate_section");
  }
  local_82 = '\0';
  local_b0 = (int *)param_2[2];
  pcVar2 = *(code **)(*local_b0 + 0x8c);
  if (pcVar2 == FUN_00070d40) {
                    /* try { // try from 0008bee2 to 0008bee7 has its CatchHandler @ 0008cf18 */
    local_c8 = (**(code **)(*local_b0 + 0xbc))(local_b0);
  }
  else {
                    /* try { // try from 0008cd49 to 0008cd70 has its CatchHandler @ 0008cf18 */
    local_c8 = (*pcVar2)(local_b0);
  }
  puVar19 = auStack_dc;
  if (param_5 == 0) {
LAB_0008cc40:
    if (local_82 != '\0') {
      *(undefined ***)(puVar19 + -0x10) = local_90 + -0x671be;
      *(undefined4 *)(puVar19 + -0x14) = 0x8cd27;
      uVar8 = gettext();
      *(undefined4 *)(puVar19 + -0x10) = uVar8;
      *(undefined4 *)(puVar19 + -0x14) = 0x8cd2f;
      FUN_0023b810();
      return;
    }
    return;
  }
  uVar13 = *param_4;
  puVar19 = auStack_dc;
  if (param_4[1] == 0) {
    local_a8 = 0;
    local_98 = 0;
    local_d0 = local_90 + 0x1f2;
    puVar19 = auStack_dc;
    local_cc = local_d0;
    do {
      local_a0 = uVar13;
      if (local_b9 == '\0') {
LAB_0008c1ed:
        local_74 = (undefined *)0x0;
        local_70 = 0xffffffff;
        local_ac = param_4[3];
        local_6c = 0x80000000;
        local_68 = (undefined *)0x0;
        local_64 = (undefined *)0x0;
        if (local_ac < local_c8) {
          if ((param_12 != (int *)0x0) &&
             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 != (undefined **)0x0))
          goto LAB_0008bf67;
          local_94 = (undefined **)local_b0[0x38];
          if ((uint)(((int)local_94 - local_b0[0x37] >> 2) * -0x33333333) <= local_ac) {
            *(undefined ***)(puVar19 + -8) = local_90 + -0x65dd4;
            *(undefined4 *)(puVar19 + -0xc) = 0x8c1;
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar19 + -0x14) = 0x8cdda;
            FUN_002446e0();
          }
          local_a4 = (undefined **)(local_b0[0x37] + local_ac * 0x14);
          local_b4 = (uint)local_a4[2] & 0x7ffffff;
          if (((*(byte *)((int)local_a4 + 0xb) & 8) == 0) || (local_b4 == 0)) {
LAB_0008c3f0:
            local_94 = (undefined **)0x0;
            goto LAB_0008bfef;
          }
          local_94 = (undefined **)local_b0[0xf];
          if ((uint)((int)local_94 - local_b0[0xe] >> 2) <= local_b4) {
            *(undefined ***)(puVar19 + -4) = unaff_EDI;
            *(undefined ***)(puVar19 + -8) = local_90 + -0x65c3f;
            *(undefined4 *)(puVar19 + -0xc) = 0x50b;
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceb2 to 0008ceb6 has its CatchHandler @ 0008cf26 */
            *(undefined4 *)(puVar19 + -0x14) = 0x8ceb7;
            FUN_002446e0();
          }
          local_94 = *(undefined ***)(local_b0[0xe] + local_b4 * 4);
          if (local_94 != (undefined **)0x0) goto LAB_0008c3f0;
          *(uint *)(puVar19 + -8) = local_b4;
          *(int **)(puVar19 + -0xc) = local_b0;
          *(undefined4 *)(puVar19 + -0x10) = *param_2;
                    /* try { // try from 0008c45c to 0008c460 has its CatchHandler @ 0008cf26 */
          *(undefined4 *)(puVar19 + -0x14) = 0x8c461;
          cVar5 = FUN_0034cd20();
          if (cVar5 != '\0') goto LAB_0008bfef;
LAB_0008c478:
          local_9c = &local_74;
          local_60 = (undefined *)0x0;
          iVar7 = *local_b0;
          *(undefined4 *)(puVar19 + -8) = param_2[6];
          *(int **)(puVar19 + -0xc) = local_b0;
          local_b8 = &local_60;
          local_5c = 0xffffffff;
          local_58 = 0x80000000;
          local_54 = (undefined *)0x0;
          local_50 = (undefined *)0x0;
          *(byte ***)(puVar19 + -0x10) = local_4c;
                    /* try { // try from 0008c4ba to 0008c4bc has its CatchHandler @ 0008cf0a */
          pcVar2 = *(code **)(iVar7 + 0x40);
          *(undefined4 *)(puVar19 + -0x14) = 0x8c4bd;
          (*pcVar2)();
          puVar20 = puVar19 + -4;
          bVar24 = false;
          bVar26 = local_a8 == 0;
          if (bVar26) {
            iVar7 = 6;
            pbVar21 = local_4c[0];
            pbVar22 = (byte *)((int)local_90 + -0x19cac3);
            do {
              if (iVar7 == 0) break;
              iVar7 = iVar7 + -1;
              bVar24 = *pbVar21 < *pbVar22;
              bVar26 = *pbVar21 == *pbVar22;
              pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
              pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
            } while (bVar26);
            bVar25 = false;
            bVar24 = (!bVar24 && !bVar26) == bVar24;
            if (!bVar24) {
              iVar7 = 7;
              pbVar21 = local_4c[0];
              ppuVar23 = local_90 + -0x672af;
              do {
                if (iVar7 == 0) break;
                iVar7 = iVar7 + -1;
                bVar25 = *pbVar21 < *(byte *)ppuVar23;
                bVar24 = *pbVar21 == *(byte *)ppuVar23;
                pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
              } while (bVar24);
              bVar26 = false;
              bVar24 = (!bVar25 && !bVar24) == bVar25;
              if (!bVar24) {
                iVar7 = 0x11;
                pbVar21 = local_4c[0];
                ppuVar23 = local_90 + -0x672ad;
                do {
                  if (iVar7 == 0) break;
                  iVar7 = iVar7 + -1;
                  bVar26 = *pbVar21 < *(byte *)ppuVar23;
                  bVar24 = *pbVar21 == *(byte *)ppuVar23;
                  pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                  ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
                } while (bVar24);
                bVar25 = false;
                bVar24 = (!bVar26 && !bVar24) == bVar26;
                if (!bVar24) {
                  iVar7 = 5;
                  pbVar21 = local_4c[0];
                  pbVar22 = (byte *)((int)local_90 + -0x19caa2);
                  do {
                    if (iVar7 == 0) break;
                    iVar7 = iVar7 + -1;
                    bVar25 = *pbVar21 < *pbVar22;
                    bVar24 = *pbVar21 == *pbVar22;
                    pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                    pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                  } while (bVar24);
                  bVar26 = false;
                  bVar24 = (!bVar25 && !bVar24) == bVar25;
                  if (!bVar24) {
                    iVar7 = 5;
                    pbVar21 = local_4c[0];
                    ppuVar23 = local_90 + -0x672a7;
                    do {
                      if (iVar7 == 0) break;
                      iVar7 = iVar7 + -1;
                      bVar26 = *pbVar21 < *(byte *)ppuVar23;
                      bVar24 = *pbVar21 == *(byte *)ppuVar23;
                      pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
                    } while (bVar24);
                    bVar25 = false;
                    bVar24 = (!bVar26 && !bVar24) == bVar26;
                    if (!bVar24) {
                      iVar7 = 4;
                      pbVar21 = local_4c[0];
                      pbVar22 = (byte *)((int)local_90 + -0x19ca96);
                      do {
                        if (iVar7 == 0) break;
                        iVar7 = iVar7 + -1;
                        bVar25 = *pbVar21 < *pbVar22;
                        bVar24 = *pbVar21 == *pbVar22;
                        pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                      } while (bVar24);
                      bVar26 = false;
                      bVar24 = (!bVar25 && !bVar24) == bVar25;
                      if (!bVar24) {
                        iVar7 = 10;
                        pbVar21 = local_4c[0];
                        pbVar22 = (byte *)((int)local_90 + -0x19a212);
                        do {
                          if (iVar7 == 0) break;
                          iVar7 = iVar7 + -1;
                          bVar26 = *pbVar21 < *pbVar22;
                          bVar24 = *pbVar21 == *pbVar22;
                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        } while (bVar24);
                        bVar25 = false;
                        bVar24 = (!bVar26 && !bVar24) == bVar26;
                        if (!bVar24) {
                          iVar7 = 0x12;
                          pbVar21 = local_4c[0];
                          pbVar22 = (byte *)((int)local_90 + -0x19ca91);
                          do {
                            if (iVar7 == 0) break;
                            iVar7 = iVar7 + -1;
                            bVar25 = *pbVar21 < *pbVar22;
                            bVar24 = *pbVar21 == *pbVar22;
                            pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                          } while (bVar24);
                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0008c67e;
                        }
                        goto LAB_0008c74a;
                      }
                    }
                  }
                }
              }
            }
LAB_0008c4f4:
            *(undefined1 ***)(puVar19 + -8) = local_34;
            *(byte ***)(puVar19 + -0xc) = local_4c;
            *(uint *)(puVar19 + -0x10) = local_b4;
            *(int **)(puVar19 + -0x14) = local_b0;
                    /* try { // try from 0008c50b to 0008c6a9 has its CatchHandler @ 0008cf1f */
            *(undefined4 *)(puVar19 + -0x18) = 0x8c510;
            uVar28 = FUN_00291fb0();
            local_54 = (undefined *)0x0;
            local_50 = (undefined *)0x0;
            if ((char)local_34[0] != '\0') {
              local_54 = local_a4[3] + (uint)uVar28;
              local_50 = local_a4[4] +
                         (uint)CARRY4((uint)uVar28,(uint)local_a4[3]) +
                         (int)((ulonglong)uVar28 >> 0x20);
            }
            local_a8 = 1;
            puVar19 = puVar19 + -4;
          }
          else {
            if (local_a8 == 1) goto LAB_0008c4f4;
            if (local_a8 == 3) {
LAB_0008c67e:
              uVar8 = param_2[2];
              if (local_94 == (undefined **)0x0) {
                *(uint *)(puVar19 + -0x10) = local_ac;
                *(undefined4 *)(puVar19 + -0x14) = uVar8;
                    /* try { // try from 0008c7c0 to 0008c85e has its CatchHandler @ 0008cf1f */
                *(undefined4 *)(puVar19 + -0x18) = 0x8c7c5;
                uVar9 = FUN_002990a0();
                *(undefined ***)(puVar19 + -0x14) = local_90 + -0x671fa;
                *(undefined4 *)(puVar19 + -0x18) = 0x8c7db;
                uVar11 = gettext();
                *(uint *)(puVar19 + -0xc) = local_ac;
                *(undefined4 *)(puVar19 + -0x10) = uVar9;
                *(undefined4 *)(puVar19 + -0x14) = uVar11;
                *(int *)(puVar19 + -0x18) = (int)local_a0 >> 0x1f;
                *(uint *)(puVar19 + -0x1c) = local_a0;
                *(int *)(puVar19 + -0x20) = local_98;
                *(undefined4 **)(puVar19 + -0x24) = param_2;
                *(undefined4 *)(puVar19 + -0x28) = 0x8c803;
                FUN_0023bf10();
                puVar20 = puVar19 + -4;
              }
              else {
                *(undefined ***)(puVar19 + -0x10) = local_94;
                *(undefined1 ***)(puVar19 + -0x14) = local_34;
                *(undefined4 *)(puVar19 + -0x18) = 0x8c6aa;
                FUN_0034dd40();
                puVar4 = local_34[0];
                *(undefined ***)(puVar19 + -0x18) = local_90 + -0x671e4;
                *(undefined4 *)(puVar19 + -0x1c) = 0x8c6bf;
                uVar9 = gettext();
                *(undefined1 **)(puVar19 + -0x14) = puVar4;
                *(undefined4 *)(puVar19 + -0x18) = uVar9;
                *(int *)(puVar19 + -0x1c) = (int)local_a0 >> 0x1f;
                *(uint *)(puVar19 + -0x20) = local_a0;
                *(int *)(puVar19 + -0x24) = local_98;
                *(undefined4 **)(puVar19 + -0x28) = param_2;
                    /* try { // try from 0008c6dd to 0008c6e1 has its CatchHandler @ 0008cf11 */
                *(undefined4 *)(puVar19 + -0x2c) = 0x8c6e2;
                FUN_0023bf10();
                puVar20 = puVar19 + -8;
                if (local_34[0] != local_2c) {
                  *(undefined1 **)(puVar19 + -0x18) = local_34[0];
                  *(undefined4 *)(puVar19 + -0x1c) = 0x8c6f8;
                  FUN_003ae080();
                  puVar20 = puVar19 + -8;
                }
              }
              *(undefined1 **)(puVar20 + -4) = &local_81;
              *(undefined1 **)(puVar20 + -8) = local_7c;
              *(uint *)(puVar20 + -0xc) = local_ac;
              *(undefined4 *)(puVar20 + -0x10) = uVar8;
                    /* try { // try from 0008c710 to 0008c714 has its CatchHandler @ 0008cf1f */
              *(undefined4 *)(puVar20 + -0x14) = 0x8c715;
              iVar7 = FUN_002986d0();
              if (iVar7 != 0) {
                *(int **)(puVar20 + -8) = &local_80;
                *(int *)(puVar20 + -0xc) = iVar7;
                *(undefined4 *)(puVar20 + -0x10) = uVar8;
                *(undefined4 *)(puVar20 + -0x14) = 0x8c824;
                iVar7 = FUN_00292240();
                if (local_80 != 0) {
                  *(int *)(puVar20 + -0xc) = local_80;
                  *(undefined4 *)(puVar20 + -0x10) = uVar8;
                    /* try { // try from 0008ccdb to 0008cd04 has its CatchHandler @ 0008cf1f */
                  *(undefined4 *)(puVar20 + -0x14) = 0x8cce0;
                  uVar8 = FUN_002990a0();
                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671cf;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8ccf6;
                  uVar9 = gettext();
                  *(undefined4 *)(puVar20 + -0xc) = uVar8;
                  *(undefined4 *)(puVar20 + -0x10) = uVar9;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8cd05;
                  FUN_0023b870();
                }
                if (iVar7 != 0) {
                  uVar8 = *(undefined4 *)(iVar7 + 4);
                  *(undefined ***)(puVar20 + -0x10) = local_90 + -0x671c7;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8c856;
                  uVar9 = gettext();
                  *(undefined4 *)(puVar20 + -0xc) = uVar8;
                  *(undefined4 *)(puVar20 + -0x10) = uVar9;
                  *(undefined4 *)(puVar20 + -0x14) = 0x8c85f;
                  FUN_0023b870();
                }
              }
              local_a8 = 3;
            }
            else {
LAB_0008c74a:
              local_a8 = 2;
            }
            local_54 = (undefined *)0x0;
            local_50 = (undefined *)0x0;
            puVar19 = puVar20;
          }
          if (local_60 != (undefined *)0x0) {
            *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;
            *(undefined4 *)(puVar19 + -0xc) = 0x716;
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cd8d to 0008cd91 has its CatchHandler @ 0008cf1f */
            *(undefined **)(puVar19 + -0x14) = &UNK_0008cd92;
            FUN_002446e0();
          }
          local_60 = (undefined *)0xffffffff;
          if (local_4c[0] != local_44) {
            *(byte **)(puVar19 + -0x10) = local_4c[0];
            *(undefined4 *)(puVar19 + -0x14) = 0x8c568;
            FUN_003ae080();
          }
          local_a4 = &local_60;
          if (-1 < (int)local_a0) goto LAB_0008c029;
LAB_0008c588:
          iVar7 = 0;
        }
        else {
          if ((param_12 == (int *)0x0) ||
             (local_94 = *(undefined ***)(*param_12 + local_98 * 4), local_94 == (undefined **)0x0))
          {
            if (local_ac < (uint)local_b0[0x2c]) {
LAB_0008cd98:
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65e11;
              *(undefined4 *)(puVar19 + -0xc) = 0x17f;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cdb4 to 0008ce3c has its CatchHandler @ 0008cf26 */
              *(undefined4 *)(puVar19 + -0x14) = 0x8cdb9;
              FUN_002446e0();
            }
            uVar13 = local_ac - local_b0[0x2c];
            local_94 = (undefined **)local_b0[0x30];
            if ((uint)((int)local_94 - local_b0[0x2f] >> 2) <= uVar13) {
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65dcc;
              *(undefined4 *)(puVar19 + -0xc) = 0x8ad;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar19 + -0x14) = 0x8cdfb;
              FUN_002446e0();
            }
            local_94 = *(undefined ***)(local_b0[0x2f] + uVar13 * 4);
            if (local_94 == (undefined **)0x0) goto LAB_0008cd98;
            if ((*(byte *)((int)local_94 + 0x2a) & 0x10) == 0) goto LAB_0008bf67;
            *(undefined ***)(puVar19 + -0xc) = local_94;
            *(undefined4 *)(puVar19 + -0x10) = *param_2;
                    /* try { // try from 0008c2b8 to 0008c2fc has its CatchHandler @ 0008cf26 */
            *(undefined4 *)(puVar19 + -0x14) = 0x8c2bd;
            local_94 = (undefined **)FUN_0034cd90();
            puVar10 = local_94[4];
            puVar17 = puVar10 + -1;
            if ((undefined *)0xfffffffd < puVar17) {
              if (local_74 != (undefined *)0x0) {
                *(undefined ***)(puVar19 + -8) = local_90 + -0x65e18;
                *(undefined4 *)(puVar19 + -0xc) = 0x716;
                *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
                *(undefined **)(puVar19 + -0x14) = &UNK_0008c2fd;
                FUN_002446e0();
              }
              goto LAB_0008bf7c;
            }
            if ((local_74 != (undefined *)0x0) && (local_74 != (undefined *)0xfffffffe)) {
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;
              *(undefined4 *)(puVar19 + -0xc) = 0x70c;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar19 + -0x14) = 0x8ce1c;
              FUN_002446e0();
            }
LAB_0008c350:
            if (puVar17 == (undefined *)0xfffffffd) {
              *(undefined ***)(puVar19 + -8) = local_90 + -0x65d5b;
              *(undefined4 *)(puVar19 + -0xc) = 0x70d;
              *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar19 + -0x14) = 0x8ce3d;
              FUN_002446e0();
            }
          }
          else {
LAB_0008bf67:
            puVar10 = local_94[4];
            puVar17 = puVar10 + -1;
            if (puVar17 < (undefined *)0xfffffffe) goto LAB_0008c350;
LAB_0008bf7c:
            local_74 = (undefined *)0xffffffff;
            puVar10 = local_74;
          }
          local_74 = puVar10;
          local_68 = local_94[0xc];
          local_64 = local_94[0xd];
          if ((*(byte *)(local_94 + 10) & 0xf) == 6) {
            local_6c = local_6c | 0x20000000;
          }
          else if ((*(byte *)(local_94 + 10) & 0xf) == 10) {
            local_6c = local_6c | 0x40000000;
          }
          if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {
            if ((*(byte *)((int)local_94 + 0x2a) & 7) == 0) {
              if ((local_94[3] == (undefined *)0x0) &&
                 ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {
LAB_0008cc18:
                local_b4 = 0;
                local_a4 = &local_74;
                goto LAB_0008c478;
              }
            }
            else if ((*(byte *)((int)local_94 + 0x2a) & 7) == 4) goto LAB_0008cc18;
          }
          local_a4 = &local_74;
LAB_0008bfef:
          local_9c = &local_74;
          local_60 = (undefined *)0x0;
          local_5c = 0xffffffff;
          local_58 = 0x80000000;
          local_54 = (undefined *)0x0;
          local_50 = (undefined *)0x0;
          if ((int)local_a0 < 0) goto LAB_0008c588;
LAB_0008c029:
          if (param_11 <= local_a0) goto LAB_0008c588;
          iVar7 = local_a0 + param_8;
        }
        local_b8 = &local_60;
        *(uint *)(puVar19 + -4) = param_11;
        unaff_EDI = (undefined **)
                    (((int)local_a0 >> 0x1f) + local_c0 + (uint)CARRY4(local_a0,local_c4));
        *(undefined ***)(puVar19 + -8) = unaff_EDI;
        *(uint *)(puVar19 + -0xc) = local_a0 + local_c4;
        *(int *)(puVar19 + -0x10) = iVar7;
        *(undefined ***)(puVar19 + -0x14) = local_a4;
        *(undefined ***)(puVar19 + -0x18) = local_94;
        *(uint **)(puVar19 + -0x1c) = param_4;
        *(int *)(puVar19 + -0x20) = local_98;
                    /* try { // try from 0008c072 to 0008c173 has its CatchHandler @ 0008cf0a */
        *(undefined4 *)(puVar19 + -0x24) = 0x8c077;
        cVar5 = FUN_00089330();
        ppuVar23 = local_94;
        if (cVar5 != '\0') {
          if (iVar7 == 0) {
            *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca7f;
            *(undefined4 *)(puVar19 + -0x14) = 0x8c787;
            uVar8 = gettext();
            unaff_EDI = *(undefined ***)(puVar19 + -0x10);
            *(uint *)(puVar19 + -0xc) = local_a0;
            *(undefined4 *)(puVar19 + -0x10) = uVar8;
            *(int *)(puVar19 + -0x14) = (int)local_a0 >> 0x1f;
            *(uint *)(puVar19 + -0x18) = local_a0;
            *(int *)(puVar19 + -0x1c) = local_98;
            *(undefined4 **)(puVar19 + -0x20) = param_2;
                    /* try { // try from 0008c7a1 to 0008c7a5 has its CatchHandler @ 0008cf0a */
            *(undefined4 *)(puVar19 + -0x24) = 0x8c7a6;
            FUN_0023bf10();
          }
          else {
            unaff_EDI = local_94;
            if (local_94 != (undefined **)0x0) {
              bVar16 = *(byte *)((int)local_94 + 0x2a);
              bVar6 = bVar16 & 7;
              if ((bVar16 & 7) == 0) {
                if ((local_94[3] == (undefined *)0x0) &&
                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {
LAB_0008cbc8:
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)(local_94 + 10));
                  bVar12 = *(byte *)(local_94 + 10) >> 4;
                  piVar14 = (int *)(uint)bVar12;
                  ppuVar23 = local_94;
                  if (bVar12 != 2) {
                    if (((uint)local_94[0xb] & 2) != 0) {
                      local_a4 = (undefined **)
                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
                      goto LAB_0008cad3;
                    }
                    ppuVar18 = local_90 + 0x1f2;
                    piVar14 = *(int **)(*ppuVar18 + 8);
                    if (piVar14 == (int *)0x0) {
                      *(undefined ***)(puVar19 + -4) = local_94;
                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;
                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;
                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ceca to 0008cece has its CatchHandler @ 0008cf0a */
                      *(undefined4 *)(puVar19 + -0x14) = 0x8cecf;
                      FUN_002446e0();
                    }
                    if (*(char *)((int)piVar14 + 0x49b1) == '\0') {
                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') {
                        if (bVar6 == 0) {
                          ppuVar18 = local_90 + -0x15e4b4;
                          goto LAB_0008ca90;
                        }
                        goto LAB_0008cb38;
                      }
                      goto LAB_0008c8f9;
                    }
                  }
                  goto LAB_0008cac0;
                }
                piVar14 = (int *)local_94[2];
                ppuVar18 = local_90 + -0x15e4b4;
                ppuVar3 = *(undefined ***)(*piVar14 + 0x14);
                if (ppuVar3 == ppuVar18) {
LAB_0008c0da:
                  bVar16 = bVar16 & 7;
                  bVar12 = *(byte *)((int)local_94 + 0x29);
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                  bVar6 = bVar12 & 3;
                  unaff_EDI = local_94;
                  if ((bVar12 & 3) == 0) goto LAB_0008c180;
                }
                else {
                  *(int **)(puVar19 + -0x10) = piVar14;
                    /* try { // try from 0008c8b4 to 0008caab has its CatchHandler @ 0008cf0a */
                  *(undefined4 *)(puVar19 + -0x14) = 0x8c8b6;
                  iVar7 = (*(code *)ppuVar3)();
                  piVar14 = extraout_ECX;
                  if (iVar7 == 0) {
LAB_0008cac0:
                    local_a4 = (undefined **)
                               CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                    bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
                  }
                  else {
                    bVar16 = *(byte *)((int)local_94 + 0x2a);
                    bVar6 = bVar16 & 7;
                    if ((bVar16 & 7) == 0) {
                      if (local_94[3] == (undefined *)0x0) {
                        bVar12 = *(byte *)((int)local_94 + 0x2b);
                        if ((bVar12 & 0x20) != 0) goto LAB_0008cbc8;
                      }
                      else {
                        bVar12 = *(byte *)((int)local_94 + 0x2b);
                      }
                      if ((char)bVar12 < '\0') {
LAB_0008ca90:
                        ppuVar23 = local_94;
                        piVar14 = (int *)local_94[2];
                        ppuVar3 = *(undefined ***)(*piVar14 + 0x14);
                        if (ppuVar3 == ppuVar18) goto LAB_0008c0da;
                        *(int **)(puVar19 + -0x10) = piVar14;
                        *(undefined4 *)(puVar19 + -0x14) = 0x8caac;
                        iVar7 = (*(code *)ppuVar3)();
                        piVar14 = extraout_ECX_01;
                        ppuVar18 = local_d0;
                        if (iVar7 != 0) goto LAB_0008c8f9;
                        goto LAB_0008cac0;
                      }
                    }
                    else {
                      if (bVar6 == 4) goto LAB_0008cbc8;
                      if ((char)*(byte *)((int)local_94 + 0x2b) < '\0') goto LAB_0008cb38;
                    }
                    ppuVar18 = local_90 + 0x1f2;
                    ppuVar23 = local_94;
LAB_0008c8f9:
                    piVar14 = *(int **)(*ppuVar18 + 0xc);
                    if (piVar14 == (int *)0x0) {
                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65bc7;
                      *(undefined4 *)(puVar19 + -0xc) = 0x69;
                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008ce56 to 0008ce97 has its CatchHandler @ 0008cf0a */
                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce5b;
                      FUN_002446e0();
                    }
                    iVar7 = *piVar14;
                    *(undefined ***)(puVar19 + -0xc) = local_94;
                    *(int **)(puVar19 + -0x10) = piVar14;
                    pcVar2 = *(code **)(iVar7 + 0x1c);
                    *(undefined4 *)(puVar19 + -0x14) = 0x8c915;
                    cVar5 = (*pcVar2)();
                    piVar14 = extraout_ECX_00;
                    if (cVar5 != '\0') goto LAB_0008cac0;
                    iVar7 = *(int *)(*ppuVar18 + 8);
                    if (iVar7 == 0) {
                      *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;
                      *(undefined4 *)(puVar19 + -0xc) = 0x5c;
                      *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar19 + -0x14) = 0x8ce79;
                      FUN_002446e0();
                    }
                    pbVar21 = *(byte **)(iVar7 + 0x42e4);
                    bVar24 = false;
                    bVar26 = pbVar21 == (byte *)0x0;
                    if (bVar26) {
                      local_a4 = (undefined **)
                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
LAB_0008c9da:
                      if (((bVar6 == 2) || (*(char *)(iVar7 + 0x1a25) == '\0')) ||
                         (*(char *)(iVar7 + 0x4eb5) != '\0')) {
LAB_0008c9f4:
                        *(int *)(puVar19 + -0x10) = (int)local_a0 >> 0x1f;
                        *(uint *)(puVar19 + -0x14) = local_a0;
                        *(int *)(puVar19 + -0x18) = local_98;
                        *(undefined4 **)(puVar19 + -0x1c) = param_2;
                        *(undefined ***)(puVar19 + -0x20) = local_94;
                        *(undefined4 *)(puVar19 + -0x24) = 0x8ca1a;
                        FUN_0023c790();
                        unaff_EDI = ppuVar23;
                        goto LAB_0008c180;
                      }
                    }
                    else {
                      piVar14 = (int *)0xb;
                      pbVar22 = pbVar21;
                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1fa6);
                      do {
                        ppuVar23 = ppuVar18;
                        if (piVar14 == (int *)0x0) break;
                        piVar14 = (int *)((int)piVar14 + -1);
                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);
                        bVar24 = *pbVar22 < *(byte *)ppuVar18;
                        bVar26 = *pbVar22 == *(byte *)ppuVar18;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        ppuVar18 = ppuVar23;
                      } while (bVar26);
                      bVar25 = false;
                      bVar24 = (!bVar24 && !bVar26) == bVar24;
                      if (bVar24) goto LAB_0008cac0;
                      iVar15 = 0xb;
                      pbVar22 = pbVar21;
                      ppuVar18 = (undefined **)((int)local_90 + -0x1a1f9b);
                      do {
                        ppuVar23 = ppuVar18;
                        if (iVar15 == 0) break;
                        iVar15 = iVar15 + -1;
                        ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);
                        bVar25 = *pbVar22 < *(byte *)ppuVar18;
                        bVar24 = *pbVar22 == *(byte *)ppuVar18;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        ppuVar18 = ppuVar23;
                      } while (bVar24);
                      bVar26 = false;
                      bVar24 = (!bVar25 && !bVar24) == bVar25;
                      if (bVar24) goto LAB_0008c9f4;
                      iVar15 = 0x17;
                      pbVar22 = pbVar21;
                      ppuVar23 = local_90 + -0x687e4;
                      do {
                        if (iVar15 == 0) break;
                        iVar15 = iVar15 + -1;
                        bVar26 = *pbVar22 < *(byte *)ppuVar23;
                        bVar24 = *pbVar22 == *(byte *)ppuVar23;
                        pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
                      } while (bVar24);
                      local_a4 = (undefined **)
                                 CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x29));
                      cVar5 = (!bVar26 && !bVar24) - bVar26;
                      piVar14 = (int *)CONCAT31((int3)((uint)iVar15 >> 8),cVar5);
                      bVar6 = *(byte *)((int)local_94 + 0x29) & 3;
                      bVar24 = cVar5 == '\0';
                      if ((!bVar24) ||
                         (bVar24 = (*(byte *)((int)local_94 + 0x2b) & 1) == 0, ppuVar23 = local_94,
                         !bVar24)) {
                        bVar26 = false;
                        piVar14 = (int *)0x16;
                        ppuVar18 = (undefined **)((int)local_90 + -0x1a1f79);
                        do {
                          ppuVar23 = ppuVar18;
                          if (piVar14 == (int *)0x0) break;
                          piVar14 = (int *)((int)piVar14 + -1);
                          ppuVar23 = (undefined **)((int)ppuVar18 + (uint)bVar27 * -2 + 1);
                          bVar26 = *pbVar21 < *(byte *)ppuVar18;
                          bVar24 = *pbVar21 == *(byte *)ppuVar18;
                          pbVar21 = pbVar21 + (uint)bVar27 * -2 + 1;
                          ppuVar18 = ppuVar23;
                        } while (bVar24);
                        if (((!bVar26 && !bVar24) != bVar26) ||
                           ((char)*(byte *)((int)local_94 + 0x2a) < '\0')) goto LAB_0008c9da;
                      }
                    }
                  }
LAB_0008cad3:
                  unaff_EDI = ppuVar23;
                  if (bVar6 == 0) goto LAB_0008c180;
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,*(byte *)((int)local_94 + 0x2a));
                  bVar16 = *(byte *)((int)local_94 + 0x2a) & 7;
                  if (bVar16 != 0) goto LAB_0008cb54;
                }
                if ((local_94[3] == (undefined *)0x0) &&
                   ((*(byte *)((int)local_94 + 0x2b) & 0x20) != 0)) {
                  bVar12 = *(byte *)(local_94 + 10);
                  local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                  piVar14 = (int *)(uint)(bVar12 >> 4);
                  if ((bVar12 >> 4 == 2) || (((uint)local_94[0xb] & 2) != 0)) goto LAB_0008c10d;
LAB_0008cb8b:
                  piVar14 = *(int **)(*local_cc + 8);
                  if (piVar14 == (int *)0x0) {
                    *(uint *)(puVar19 + -4) = (uint)bVar12;
                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65b32;
                    *(undefined4 *)(puVar19 + -0xc) = 0x5c;
                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0008cf05 to 0008cf09 has its CatchHandler @ 0008cf0a */
                    *(undefined1 **)(puVar19 + -0x14) = &LAB_0008cf0a;
                    FUN_002446e0();
                  }
                  if (*(char *)((int)piVar14 + 0x49b1) != '\0') {
                    unaff_EDI = local_cc;
                    if (bVar16 != 0) goto LAB_0008c180;
                    goto LAB_0008c10d;
                  }
                }
                else {
LAB_0008c10d:
                  unaff_EDI = local_94;
                  if ((local_94[2][0x2c] & 1) == 0) goto LAB_0008c180;
                }
                if (bVar6 == 2) {
                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca5d;
                  *(undefined4 *)(puVar19 + -0x14) = 0x8cc6d;
                  uVar8 = gettext();
                }
                else if (bVar6 < 3) {
                  if (bVar6 != 1) {
                    *(int **)(puVar19 + -4) = piVar14;
                    *(undefined ***)(puVar19 + -8) = local_90 + -0x65c80;
                    *(undefined4 *)(puVar19 + -0xc) = 0xa4;
                    *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19cb27;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar19 + -0x14) = 0x8ce98;
                    FUN_002446e0();
                  }
                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca66;
                  *(undefined4 *)(puVar19 + -0x14) = 0x8c385;
                  uVar8 = gettext();
                }
                else {
                  *(int *)(puVar19 + -0x10) = (int)local_90 + -0x19ca56;
                  *(undefined4 *)(puVar19 + -0x14) = 0x8c13f;
                  uVar8 = gettext();
                }
                unaff_EDI = (undefined **)*local_94;
                *(undefined ***)(puVar19 + -0x10) = local_90 + -0x67173;
                *(undefined4 *)(puVar19 + -0x14) = 0x8c163;
                uVar9 = gettext();
                *(undefined ***)(puVar19 + -8) = unaff_EDI;
                *(undefined4 *)(puVar19 + -0xc) = uVar8;
                *(undefined4 *)(puVar19 + -0x10) = uVar9;
                *(undefined4 *)(puVar19 + -0x14) = 0x8c174;
                FUN_0023b810();
              }
              else {
                if (bVar6 == 4) goto LAB_0008cbc8;
LAB_0008cb38:
                bVar12 = *(byte *)((int)local_94 + 0x29);
                local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                bVar6 = bVar12 & 3;
                unaff_EDI = local_94;
                if ((bVar12 & 3) != 0) {
                  bVar16 = bVar16 & 7;
                  ppuVar23 = local_94;
LAB_0008cb54:
                  unaff_EDI = ppuVar23;
                  if (bVar16 == 4) {
                    bVar12 = *(byte *)(local_94 + 10);
                    local_a4 = (undefined **)CONCAT31(local_a4._1_3_,bVar12);
                    if ((bVar12 >> 4 != 2) && (bVar16 = 4, ((uint)local_94[0xb] & 2) == 0))
                    goto LAB_0008cb8b;
                  }
                }
              }
LAB_0008c180:
              if ((*(byte *)((int)local_94 + 0x2b) & 4) != 0) {
                *(int *)(puVar19 + -0xc) = (int)local_a0 >> 0x1f;
                *(uint *)(puVar19 + -0x10) = local_a0;
                *(int *)(puVar19 + -0x14) = local_98;
                ppuVar23 = (undefined **)*param_2;
                *(undefined4 **)(puVar19 + -0x18) = param_2;
                *(undefined ***)(puVar19 + -0x1c) = local_94;
                *(undefined ***)(puVar19 + -0x20) = ppuVar23 + 0x40;
                    /* try { // try from 0008c332 to 0008c336 has its CatchHandler @ 0008cf0a */
                *(undefined4 *)(puVar19 + -0x24) = 0x8c337;
                local_94 = ppuVar23;
                FUN_00350ac0();
              }
            }
          }
        }
        *(undefined ***)(puVar19 + -0x10) = local_b8;
        *(undefined4 *)(puVar19 + -0x14) = 0x8c19e;
        FUN_00094b30();
        *(undefined ***)(puVar19 + -0x10) = local_9c;
        *(undefined4 *)(puVar19 + -0x14) = 0x8c1aa;
        FUN_00094b30();
      }
      else {
        *(uint *)(puVar19 + -4) = uVar13;
        *(undefined4 *)(puVar19 + -8) = param_2[6];
        *(undefined4 *)(puVar19 + -0xc) = param_2[2];
        *(undefined4 *)(puVar19 + -0x10) = param_6;
                    /* try { // try from 0008c883 to 0008c887 has its CatchHandler @ 0008cf18 */
        *(undefined4 *)(puVar19 + -0x14) = 0x8c888;
        local_a0 = FUN_002cda80();
        if (local_a0 != 0xffffffff) goto LAB_0008c1ed;
      }
      local_98 = local_98 + 1;
      if (param_5 == local_98) goto LAB_0008cc40;
      puVar1 = param_4 + 7;
      uVar13 = param_4[6];
      param_4 = param_4 + 6;
    } while (*puVar1 == 0);
  }
  ppuVar23 = local_90;
  *(undefined ***)(puVar19 + -8) = local_90 + -0x65b70;
  *(undefined4 *)(puVar19 + -0xc) = 0xc0;
  *(undefined ***)(puVar19 + -0x10) = ppuVar23 + -0x672d3;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar19 + -0x14) = 0x8cd71;
  FUN_002446e0();
}

